2012年2月18日土曜日

What Is Windows Memory?

what is windows memory?

Managing session state in Windows Azure: What are the options?

One of the most common questions in developing ASP.NET applications on Windows Azure is how to manage session state. The intention of this article is to discuss several options to manage session state for ASP.NET applications in Windows Azure.

What is session state?

Session state is usually used to store and retrieve values for a user across ASP.NET pages in a web application. There are four available modes to store session values in ASP.NET:

  1. In-Proc, which stores session state in the individual web server's memory. This is the default option if a particular mode is not explicitly specified.
  2. State Server, which stores session state in another process, called ASP.NET state service.
  3. SQL Server, which stores session state in a SQL Server database
  4. Custom, which lets you choose a custom storage provider.

You can get more information about ASP.NET session state here.

In-Proc session mode does not work in Windows Azure

The In-Proc option, which uses an individual web server's memory, does not work well in Windows Azure. This may be applicable for those of you who host your application in a multi-instance web-farm environment; Windows Azure load balancer uses round-robin allocation across multi-instances.


The Memory Book: The Classic Guide to Improving Your Memory at Work, at School, and at Play
Learn more
Harry Lorayne

For example: you have three instances (A, B, and C) of a Web Role. The first time a page is requested, the load balancer will allocate instance A to handle your request. However, there's no guarantee that instance A will always handle subsequent requests. Similarly, the value that you set in instance A's memory can't be accessed by other instances.

The following picture illustrates how session state works in multi-instances behind the load balancer.

Figure 1 – WAPTK BuildingASP.NETApps.pptx Slide 10

 

The other options

1.     Table Storage

Table Storage Provider is a subset of the Windows Azure ASP.NET Providers written by the Windows Azure team. The Table Storage Session Provider is, in fact, a custom provider that is compiled into a class library (.dll file), enabling developers to store session state inside Windows Azure Table Storage.

The way it actually works is to store each session as a record in Table Storage. Each record will have an expired column that describe the expired time of each session if there's no interaction from the user.


Crucial 8GB Kit (4GBx2), 204-pin SODIMM, DDR3 PC3-10600 Memory Module (CT2KIT51264BC1339)
Learn more

The advantage of Table Storage Session Provider is its relatively low cost: $0.14 per GB per month for storage capacity and $0.01 per 10,000 storage transactions. Nonetheless, according to my own experience, one of the notable disadvantages of Table Storage Session Provider is that it may not perform as fast as the other options discussed below.

The following code snippet should be applied in web.config when using Table Storage Session Provider.

                 

You can get more detail on using Table Storage Session Provider step-by-step here.

2.     SQL Azure

As SQL Azure is essentially a subset of SQL Server, SQL Azure can also be used as storage for session state. With just a few modifications, SQL Azure Session Provider can be derived from SQL Server Session Provider.

You will need to apply the following code snippet in web.config when using SQL Azure Session Provider:


            

A step-by-step tutorial for using Caching Service as session provider can be found here.

Other than providing high performance access, another advantage about Windows Azure Caching is that it's officially supported by Microsoft. Despite its advantages, the charge of Windows Azure Caching is relatively high, starting from $45 per month for 128 MB, all the way up to $325 per month for 4 GB.


Conclusion

I haven't discussed all the available options for managing session state in Windows Azure, but the three I have discussed are the most popular options out there, and the ones that most people are considering using.

Windows Azure Caching remains the recommended option, despite its cons but developers and architects shouldn't be afraid to decide on a different option, if it's more suitable for them in a given scenario.



These are our most popular posts: what is windows memory?

Advanced Windows Memory Dump Analysis with Data Structures ...

Sometimes while working with your Windows XP operating system, you might be required to monitor your system memory. You can do this by adding counters to the program responsible for system monitoring. The program for ... read more

Windows Memory Diagnostic Tool

learn more - Advanced Windows Memory Dump Analysis with Data Structures: Training Course Transcript and WinDbg Practice Exercises with Notes - The full transcript of Memory Dump Analysis Services training with ... read more

Analyst dissects Intel Haswells transactional memory

Screenshots of Windows Phone "Tango" leaked, new features and low-memory limitations revealed. read more

Screenshots of Windows Phone "Tango" leaked, new features and ...

During the preconference tutorial, I discussed changes to the Windows Mobile 6.1 memory model. read more

Related Posts



0 コメント:

コメントを投稿