in

Community Server

The platform that enables you to build rich, interactive communities

Carlos Caneja~s Blog

Application Pools, be aware of discount ASP.net hosts

It would be great if we still lived in a static world where you could cram thousands upon thousands of sites into  a server.  In today's web 2.0 world this is not the case. Applications are far more resource demanding than ever before as they become more feature intensive. 

In this article I will be discussing what application pools are and the role they play in today's web hosting business model.  This will hopefully allow you to understand how to pick a hosting package not just based off DISK allocation, BANDWIDTH usage, and E-MAIL accounts.

The application pool feature was introduced in the IIS6 release.
This new model was named "worker process isolation mode" ( this is why you see WP3.exe process running in task manager for each site running in a unique pool).

For Windows the asp.net hosts this is the best thing since sliced bread, BUT WHY?
Applications POOLS allow you to isolate each asp.net application and cap the resource usage (Memory/CPU). This is an extremely powerful tool in the shared hosting  hosting environment as it makes it extremely easy to control your population.

 Back in the IIS5 days there were only 3 types of isolation:

Low (InProcess): Very effective in terms of speed.  However, if a site on LOW crashed so did the web service. Excellent for servers running 1 site.
Medium (Pooled): Allocates memory to sites running in groups but if one those sites crashed so did the rest ruining on "medium" 
                          (most commonly used in shared hosting).
High (Out Of Process): This was the isolation mode in IIS5, but you could not run every site under this mode generated too much overhead on the server.

When IIS6 came along it allowed hosting companies to achieve better uptime by isolation each asp.net site. It also allowed less "iisresets" as problematic sites could be identified, recycled, and disabled (if needed). Imaging rebooting your computer without restarting? Does that make sense? Not at all, but application pools can be restarted without bringing the actual site down.  This is done with the "recycle" option.  Restarting the worker process assigned to an application pool sparks up a new worker process and redirects any new HTTP requests to it. Eventually, this shuts down the "old" worker process "cleaning" up any memory leaks.

So what is this all leading up to? Let's do some math...

Community Server 2007 (this blog): 70 MB
DNN (Dot Net Nuke) 4.3.4: 50 MB
Storefront 6.8:  50 MB
BV Commerce: 75 MB
ASPDotNETStorefront: 120 MB
Joomla 1.2.12 : 50 MB

 

* These annotations were done with zero load.

Here is a good example of the appliedi.net plans correlating the ASP.net application pool limits described above.

ValuePlus: 100 MB
VS-1: 175 MB
VS-2: 250 MB
VS-3: 350 MB


When you choose a hosting package there is a reason why you pay what you pay. Don't just base it off any asp.net discount host or don't just base off the 3 irrelevant resources mentioned earlier.

Comments

No Comments
Powered by Community Server (Non-Commercial Edition), by Telligent Systems