IIS express requests take 4 times longer to execute
I have uploaded the WCAT re开发者_如何转开发sults run on windows 7, same script, to ts: included XSL in zip. sorry.
Here is what I have noticed:
- IIS Express has slighter higher requests per second, and total transactions served than normal IIS.
- IIS Express is executing up to 100 requests at a time, while normal IIS on windows 7 is limited to 10 as designed.
- IIS express is using 30% higher cpu, probably because of additional requests it handles at a time.
- But on average Express requests take much longer to complete..up to 4 times longer. see Request Execution Time performance counter and time analysis (first and last byte).
IIS Express is only able to beat IIS in total requests served because it can handle more requests at a time!
Theories on what's happening:
- Could the fact that IIS express is printing each request to command line window even with trace set none be slowing it down?
- I also noticed a lot of additional modules registered in IIS express
applicationhost.config
that are not in IISapplicationhost.config
. Could then extra debugging/tracing modules be causing the problem? - I notice IIS express does not have
FileCache
andHTTPCache
modules. Could that be why?
I'm hoping asp.net experts can clarify how these results are possible if IIS express is not limited.
By default failed request tracing is enabled for IIS Express. You may see some performance gain if you disable it. (set enabled="false" for traceFailedRequestsLogging element in applicationhost.config)
Connecting the dots: http://forums.iis.net/p/1175052/1969390.aspx#1969390. Same question was asked on the iis.net forum as well, and it trigerred lively discussion.
Just to clarify, the IIS Express is primarily meant as a web development tool that provides a superset of functionality over the Cassini development server. Performance was not top priority for this release. It is true that IIS Express doesn't have connection limit, but the XP compatibility came at cost.
- For the applications with mostly dynamic content, the overhead of IIS express should be acceptable.
- for websites with lot of static content, the lack of http.sys kernel caching and also user mode caching will make a huge perf difference
Try to redirect the stdout to nul. It will boost your perf by a little bit.
精彩评论