IIS 7 and Above
Application Request Routing (ARR)
ARR v2 RC Monitoring and Management Form Failed Request Stats
Last post May 17, 2010 02:08 PM by EricSully
Oct 14, 2009 11:07 PM|JAltrichter|LINK
I would like to clarify the data for the Failed Requests stat on the Monitoring and Management for Server Farms. This stat is not currently documented on TechNet (http://technet.microsoft.com/en-us/library/dd443506(WS.10).aspx)
I am assuming a failed request that is one that is passed to a node in the farm that does not return back to the ARR. I am further guessing the primary reasons would be: node dies, network fails, the operator fails to gracefully take a node offline, etc.
ARR v2 RC
Oct 16, 2009 12:16 AM|cpattekar|LINK
Yes, you are right. 404 responses from the node will not be considered as "failed requests".
Oct 16, 2009 10:33 AM|JAltrichter|LINK
Oct 16, 2009 12:49 PM|anilr|LINK
What is considered failed request would depend on your failure definition - all connection errors will be treated as failed requests and any status codes configured in liveTrafficFailureCodes will be treated as failed requests.
Oct 19, 2009 05:56 PM|JAltrichter|LINK
Can you reference me to where the TrafficFailureCodes reside? I do not see the the TrafficFailureCodes heading in the server configuration store files in %Windows%\System32\inetsvr\config.
Oct 19, 2009 06:35 PM|anilr|LINK
Look at %windir%\system32\inetsrv\config\schema\arr_schema.xml for the ARR schema.
Oct 21, 2009 12:25 PM|JAltrichter|LINK
I found the TrafficFailureCodes reference, it is referencing codes "500-".
Should I be able to find a 5xx code on the ARR server logs? I have done some preliminary checking and have not seen any 5xx errors, during times when I know there have been failed requests.
ARR v2 RC
Oct 21, 2009 12:51 PM|cpattekar|LINK
The "failed requests" could be a result of "connection error" as well, like Anil mentioned.
Oct 21, 2009 03:10 PM|JAltrichter|LINK
Ok, I have found a 500 error one of the content servers on the server farm.
Can you tell me what happens to the request on the ARR when a content server in a server farm has a failed request? Does the ARR re-submit the request to another node or does the fail go back the browser?
Oct 22, 2009 02:08 PM|anilr|LINK
Use failed request tracing. There is even a walkthrough for it -
Oct 26, 2009 02:06 PM|JAltrichter|LINK
Thanks, I have used the ARR freb tracing walkthrough before, and I agree it is very helpful for isolating a specific request.
However, the issue in my inquiry was was if ARR automatically retried a failed request to another node on the server farm so that the request failure would not go all the way back to the end user . Looking at the logs in more detail, I can now see that
this is not happening. Has the ARR team ever considered a retry mechanism?
Perhaps you could also shed some light on why the HTTP response codes are altered by ARR. In the example below, a 500 response from a sever farm node was converted to a 400 (bad request) response to the client.
(NODE) 2009-10-21 22:41:03 IP GET /App/Page.aspx Param1=xxx&X-ARR-LOG-ID=xxx 443 - OriginIP Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0) 200 0 0 468
(ARR ) 2009-10-21 22:41:05 IP GET /App/Page.aspx Param1=xxx&X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=xxx 443 - OriginIP Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0) 200 0 0 1684
(NODE) 2009-10-21 22:44:26 IP POST /App/Page.asp Param1=xxx&X-ARR-LOG-ID=xxx 443 - OriginIP Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0) 500 0 64 128107
(ARR ) 2009-10-21 22:44:26 IP POST /App/Page.aspx Param1=xxx&X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=xxx 443 - OriginIP Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0) 400 0 64 128108
Thanks for your feedback.
Oct 26, 2009 03:34 PM|anilr|LINK
We have considered retrying the request but never implemented it after feedback from multiple people that they would not want to use it.
As for the 400 in the ARR logs - if the client disconnects before receiving the complete response, ARR will log it as a 400 to signify that - the win32 status of 64 seems to match up with the client disconnecting before receiving the complete response.
Oct 29, 2009 05:05 PM|JAltrichter|LINK
Thanks Anil. I believe I understand the reason behind the 400 response now.
May 17, 2010 02:08 PM|EricSully|LINK