IIS 5 & IIS 6
iis6 vs iis7 and time-taken
Last post Oct 27, 2011 07:32 AM by qbernard
Jul 28, 2008 06:40 AM|MattDuguid|LINK
We have been performing some testing of an application on IIS7 and have noticed that the time-taken value in the W3SVC logs is considerably larger than when we run the same code on IIS6.
(NOTE: The average timetaken below was calculated using log parser on logs from seperate IIS6 and IIS7 servers)
We have 10 identical servers in terms of their hardware/software and all have been running the application on Windows 2003 Web Edition / IIS6.
We recently rebuilt 1 of those as Windows 2008 Web Edition / IIS7. Everything runs as expected apart from the long time-taken values in the W3SVC logs.
Microsoft KB article "Description of the time-taken field in IIS 6.0 and IIS 7.0 HTTP logging"
The time-taken field measures the length of time that it takes for a request to be processed. The client-request time stamp is initialized when HTTP.sys receives the first byte of the request. HTTP.sys is the kernel-mode component that is responsible
for HTTP logging for IIS activity. The client-request time stamp is initialized before HTTP.sys begins parsing the request. The client-request time stamp is stopped when the last IIS response send completion occurs.
It also lists this information as being applicable to both IIS6 and IIS7. That being the case we are interested to know if anyone else is having similar issues and what they may have done to try and narrow down where the extra time is taken.
time-taken iis6 vs iis7 logging
Jul 28, 2008 08:22 AM|qbernard|LINK
Mm... we know IIS 7 is definintely much better than IIS 6, yet from your data! wow! that's like a performance leap!! I'm like to find out more on how requests generated? the same X requests are send to both IIS7/6 on the same client ? same subnet? same time?
same hardware config? same network route? except for request file10.aspx, the rest of the requests are many many times faster with IIS7, which kinda ....
Jul 28, 2008 10:22 AM|MattDuguid|LINK
LOL my apologies I have the IIS6 and IIS7 columns labelled incorrectly... ;) ...lets try that again!
Jul 28, 2008 01:26 PM|Rovastar|LINK
Jul 30, 2008 03:42 AM|qbernard|LINK
ooOOooo that's awful and you should ditch IIS 7 :)
What about the questions I posted? same number of requests? same network config? etc?
Oct 26, 2011 02:49 PM|japotter_goldenrule.com|LINK
This is an older listing but in case someone is looking into this and sees this post:
One thing to look at is:
TCP buffering is used. Applications that use HTTPAPI.dll can set the HTTP_SEND_RESPONSE_FLAG_BUFFER_DATA flag to enable TCP buffering on Windows Server 2003 Service Pack 1 and later. This allows the server to send all of the response data to the client without
having to wait for the client’s corresponding acknowledgements.
this could be turned on for one server and off for the other. Network time could be the difference you are seeing. If the HTTP_SEND_RESPNSE_FLAG_BUFFER_DATA flag is set, then the Time Taken in the IIS log may not include network time.
Oct 27, 2011 07:32 AM|qbernard|LINK
I remembered during my old migration to IIS 7, where everything is on by default, two NLB nodes on IIS6, taking out one node and refresh it to IIS 7,
I did see improvement via IIS 7, same machines spec/etc. We used to parse the log for top 10 requests, result I got from IIS 7 was always 5-10% faster, this include both local and remote stress test clients.
The OP stated IIS 7 is many times slower :) there are many factors. However, I think both include the network acknowledge portion between IIS6/7. Hence I suspect both many not in the same env setup.