This formula is determined by the number of CPU's you have times an arbitrary number Microsoft decided would be good for dealing with ASPX pages set back in the IIS 5 or IIS 6 days. It is woefully low and sadly, Citrix does not resolve it when you install the Web Interface application.
But, we can increase the per processor thread count to prevent the queuing. To do so you must edit the "C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config" and set the processModel with a new set of thread values.
The values are MaxWorkerThreads, MaxIoThreads, MinWorkerThreads and MinIoThreads. All values are set * the number of processors you have and are *per w3wp.exe process*. So if you have a XenApp website and services site running on separate application pools each process then has a 1000 thread limit on a 2 processor system. When we implement these we found we could hammer the web interface and the ASPX pages would consistently respond without issue. We did find that hammering the web interface with 1000 threads then revealed a new performance limitation. Though the ASPX pages were being processed so the explicit login page now constantly appeared without issue, we found that logging in and showing the applications was now slow, taking several dozen seconds at times. By allowing our web interface to process more connections and pass those connections on; some of our dedicated XML brokers were having issues keeping up with the requests.
My next post will detail testing the capabilities of the XML server and seeing if we can determine the best way to optimize XML performance.
My next post will detail testing the capabilities of the XML server and seeing if we can determine the best way to optimize XML performance.
No comments:
Post a Comment