In a project i’ve been doing, there have been some complaints about the speed of the site. The problem is that this site is in development and has virtually no visits …
Measuring response times with FireBug, i realized that images with 11KB were taking 2 to 5 seconds to be served, that’s strange!
I immediately pointed the finger to Azure, because the images were coming from blobs. Some tests after, even caching files on disk took too long to be served! MVC wasn’t guilty also because the sample MVC site was fast enough.
Watching the output on the development fabric got me in the right way. Session State blobs were being read and written constantly, disabling it in web.config was the turning point, page load time decreased by more than 90%!!!
Conclusion: Using
<sessionState mode=”Custom” customProvider=”TableStorageSessionStateProvider”>
caused session state to be stored in the azure storage, and locks row access… Change it to “InProc” to store it in memory, or even “Off” if you don’t use the Session object. But beware, these two options will not work well in case of load balancing.
For now, i have disabled SessionState …
Tags: ASP Provider, Azure, SessionState