In this period I working around the optimization fo a BizTalk solution, the following optimization can improve IIS performance:
The first important thing is log only the essential information, or disable the IIS logging.
Check the value of the ASPProcessorThreadMax, this property defines the maximum number of ASP requests that can execute simultaneously, the default value is 25.
Increase the size of ASPProcessorThreadMax until the processor utilization meets at least 50 percent or above.
AspRequestQueueMax parameter, if the value of AspRequestQueueMax is too large, users might perceive that the server is not responding when in fact their request is waiting in the queue.
To calculate the correct value make this operation:
AspRequestQueueMax = AspProcessorThreadMax * number of processors
MaxPoolThreads is a registry entry and it specifies how many pool threads to create per processor, the default is 4, you can set no more than 20.
Disable WCF tracing
In web.config disable debbugging for ASP.NET Application and Web Services
<compilation debug=”false”/>
When you run ASP.NET 2.0 on IIS 7.0 in Integrated mode, the minFreeThreads and minLocalRequestFreeThreads attributes of the “httpRuntime” element in the machine.config are ignored. For IIS 7.0 Integrated mode, a DWORD named MaxConcurrentRequestsPerCPU within KEY_LOCAL_MACHINESOFTWAREMicrosoftASP.NET2.0.50727.0 determines the number of concurrent requests per CPU. By default, the registry key does not exist and the number of requests per CPU is limited to 12. .NET Framework 3.5 SP1 added support for configuring this via the aspnet.config file, more information in Thomas Marquardt’s Blog
To tune IIS for best performance you can review the following articles:
-
“Contention, poor performance, and deadlocks when you make Web service requests from ASP.NET applications” article on the Microsoft Help and Support site.
-
“10 Tips for Writing High-Performance Web Applications” topic in the MSDN Magazine.
-
“Optimizing IIS Performance” section in the Microsoft BizTalk Server 2009 Performance Optimization Guide.
-
“Working with the Metabase” topic on the TechNet site.
-
“How to enable logging in Internet Information Services (IIS)” article on the Microsoft Help and Support site.