One regular question posed to our team deals with the performance counters set-up to ensure IIS and ASP.Net application(s) are working properly. However, as every web-application and hence every IIS Server, will behave differently depending on what will be executed, obviously the threshold for which performance will be impacted will vary a lot. Thus, it's essential to define those key values before putting your application in production. By doing a progressive load test, you should be able to identify when the application performance is degraded. Once you've determined the threshold limit before degradation and the threshold where everything is working well, you just must collect the performance counters and you'll get your key values.
Now you know how to define your key values, you need to know how to collect them. To do so, you could use the excellent PAL tool (https://pal.codeplex.com/) which gives a predefined list of counters to monitor based on the selected product. By using those scripts, you should be able to get a good overview of your application and IIS behavior under load.
However, it could be interesting to broaden the scope to get key values in order to have a global vision of how the whole server is behaving instead of just IIS or ASP.NET. You need to check CPU, Memory, etc and put this in balance with your application and IIS.
Here is a non-exhaustive list of counters you could use to get this vision:
For IIS:
Memory:
Process (For all W3WP.exe processes):
Processor (All instances):
HTTP Service Request Queues (All instances):
APP_POOL_WAS (For all listed Application Pools):
For ASP.NET:
ASP.NET Applications (For all applications you want to monitor):
ASP.NET V4.0.30319:
With all this information, you should be able to determine the threshold where your application is behaving as expected and the threshold where problems should start to occur. In addition, if you want to go further on ASP.NET, you could have a look to this old but good article which explains some key counters and how to detect some known issues: http://linqto.me/perfaspnet
I hope this article has been useful.
originally written by: Sylvain Lecerf
reviewed by: Muna AlHasan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.