Dear readers,

Before we immerse ourselves into thoughts of ASP.NET Cache limitations, let’s explain worker processes, web gardens and web farms in a little more detail so that we can understand the issues of synchronization, speed, reliability and scalability in the context of caching. Doing so would not only help us realize the drawbacks that ASP.NET Cache entails but it will also make it possible for us to outline the situations in which one should contemplate using it or looking for alternative solutions. Read the rest of this entry »


ASP.NET Cache Features

August 26, 2010

Hi readers,

The previous post involved an overview of ASP.NET Cache with special emphasis on the types of caching available and the main operations that can be performed on the cache. In today’s post we’ll be discussing some important features related to the ASP.NET Caching mechanism and their significance. Read the rest of this entry »


August 2, 2010

What is ASP.NET Cache?

For those who are new to the concept, ASP.NET Cache provides a powerful way of storing frequently accessed data rendering your application remarkably fast.

Normally, when a query is executed, data has to be fetched from the database so as to provide the user the requested information. And, a database trip is usually very expensive in terms of performance. This is because of multiple reasons. First, a network trip is involved to the database server. Second, the database server has to compile and execute an SQL query, perform a database I/O operation and then return the results. This specially becomes more visible when you increase the number of transactions. Read the rest of this entry »

The purpose of this benchmark is to find out the performance and scalability benefits that users might have of using distributed caching. I’ll try to benchmark all the leading products on distributed caching and will share my results with you. The purpose is not to provide any comparison between the products but to help you make your selection easy. There are several products available in the market on distributed caching like memcached, NCache and Scaleout but for now I’ve picked one of the most popular called NCache. Read the rest of this entry »

While functionality is the number one goal of Web development, performance seems to be a close second. After all, a site that isn’t used serves no purpose. Caching frequently accessed Web page data is one way to positively impact a Web application’s performance. ASP.NET includes caching support that is easily incorporated in your application to boost application performance.

ASP.NET 1.x provides three ways to incorporate caching in a Web application:

  • Page Output caching: allows you to cache the dynamically generated page content.
  • Page Fragment caching: caches portions of a Web page.
  • Page Data caching: programmatically caches data/objects within a Web page.

This article focuses on .NET Output caching. You can read the complete article at

Improve performance and scalability metrics in enterprise applications: Caching best practices in Enterprise Library
Caching helps reduce the amount of data transferred between processors and computers, and also reduces the amount of data processing that occurs in a system and the number of disk access operations that must occur. Therefore, designing an application that performs and scales well involves designing with caching best practices…

Google App Engine provides a framework for creating and running highly scalable web applications. As the traffic to your app increases, more instances of your app are created to handle the load without your having to monitor and requisition more resources. However, there are a few ways in which you can limit the scalability of your application. In this series of articles, we show you how to avoid some common pitfalls, fine-tune performance, and enhance scalability to allow you to design an application which scales seamlessly on Google’s infrastructure.

The articles in this scaling category include:

  • Minimizing work
  • Paging through large datasets
  • Avoiding datastore contention
  • Sharding counters
  • Effective memcache