Nov 7, 2008

.NET Web Application Boosting


We are involved these days in a large ASP.Net project for a new company in the online advertising field (Great company with a great innovative product, which I'll clearly present when time will come). The product includes both a large back office system, and an impressive real time/black box server system which is designed to support 200 million events per day (and counting).

I wanted to share several concepts we are using in order to boost their system and reach these numbers:
1. Using a grid infrastructure - we are using Gigaspaces XAP. This is a great product, which enables us reaching 20 Million events per day on a single commodity server and achieve linear growth. Since our customer is a startup, it is registered to Gigaspaces startup program, meaning it gets the product free out of charge.
2. Using custom http handlers - this technique enables creating a class library assembly that can be linked directly to, without going through a standard .aspx page. This method reaches 5-10% boost over the standard ASPX method.
3. Using async pages - This method turns the regular syncronized ASPX web pages into async ones. Why is it so important? since even interactive web pages may include calls to relatively time consuming methods like reading/storing files on disk or consuming web services. In these cases the request will wait in the thread pool till the time consuming method will finish its job. The result is clear: preventing another web requests to be handled. Async pages releases the bottleneck by processing these time consuming methods in another thread pool. By doing that, it enables us serving more requests on a single server. Read some more at: Pluralsight, ASP.NET Resources blog and this one.

Have a great weekend,

No comments:


Intense Debate Comments

Ratings and Recommendations