Описание поля, затраченного по времени, в ведении журнала HTTP IIS 7

В этой статье описаны функциональные возможности поля, затраченного по времени, в журнале протокола HTTP Microsoft IIS (IIS).

Первоначальная версия продукта: службы IIS версии 7.0 или более поздних версий
Исходный номер базы знаний: 944884

Затраченное по времени поле

По умолчанию СЛУЖБЫ IIS регистрируют действия сайта HTTP с помощью расширенного формата файла журнала W3C. С помощью диспетчера IIS можно выбрать поля для включения в файл журнала. Одно из этих полей — это поле, затраченное по времени.

Поле времени, затраченное на обработку, измеряет время, затраченное на обработку запроса. Метка времени запроса клиента инициализируется, когда HTTP.sys получает первый байт запроса. HTTP.sys — это компонент режима ядра, отвечающий за ведение журнала HTTP для действий IIS. Метка времени клиентского запроса инициализируется перед тем, как HTTP.sys начнет синтаксический анализ запроса. Отметка времени запроса клиента останавливается при завершении последней отправки ответа IIS.

Начиная с IIS 7.0, поле time-taken включает сетевое время. Прежде чем HTTP.sys занося значение в поле time-taken, HTTP.sys обычно ожидает подтверждения клиентом последней операции отправки пакета ответа или HTTP.sys ожидает, пока клиент сбросит базовое TCP-подключение. Таким образом, при отправке клиенту большого или большого ответа через медленное сетевое подключение значение поля времени может быть больше, чем ожидалось.

Примечание.

Значение в поле time-taken не включает сетевое время, если выполняется одно из следующих условий:

  • Размер ответа меньше или равен 2 КБ, а размер ответа — из памяти.
  • Используется буферизация TCP. Приложения, использующие HTTPAPI.dll , могут задать HTTP_SEND_RESPONSE_FLAG_BUFFER_DATA флаг для включения буферизации TCP в Windows. Это позволяет серверу отправлять клиенту все данные ответа, не дожидаясь соответствующих подтверждений клиента.