[KeyPoint] IIS Log의 Time-Taken 값은 마지막 응답 패킷을 보냈을 때의 시간이 아니라 Client에게 Ack 패킷을 받은 시점까지의 시간을 기록합니다. |
- Time-taken 항목은 요청을 처리하는데 소요되는 전체 시간을 의미합니다.
- HTTP 요청을 수신하는 HTTP.sys 커널 모듈에서 Client로부터 발생된 요청의 첫번째 byte를 수신함과 동시에 시간은 기록되기 시작하며, IIS의 응답이 완료되는 순간에 time-taken 시간 기록은 종료됩니다.
- time-taken 항목에 기록된 시간은 네트워크 시간을 포함합니다. (IIS 6.0 부터)
- 다시 정리해서 말씀 드리면 HTTP.sys 모듈이 Client로 첫 응답을 보낸 시간을 기록하는 것이 아닌, 응답의 마지막 패킷을 전송 후 Client로부터 Ack(Acknowledgement)를 수신하였을 때 그 시간을 기록하게 됩니다.
- 이와 같은 구동 원리로 인해, 느린 네트워크 구간일 경우에 time-taken 값은 평소보다 크게 나타날 수 있습니다.
[참고자료] time-taken 항목에 대한 설명
Description of the time-taken field in IIS 6.0 and IIS 7.0 HTTP logging
https://support2.microsoft.com/default.aspx?scid=kb;EN-US;944884
'Microsoft > IIS' 카테고리의 다른 글
HTTP 성능 카운터 / CurrentQueueSize (0) | 2015.06.15 |
---|---|
로드 밸런싱 (0) | 2014.09.12 |
IIS 7.0 / Dynamic IP Restrictions / 동적 IP 차단 (0) | 2014.03.03 |