IIS 日志中不同列的含义是什么?

IIS 日志中不同列的含义是什么?

我正在尝试弄清楚 IIS 日志中不同列的确切含义。尤其是时间和所用时间的值

| date       | time     | s-port | sc-status | sc-win32-status | time-taken |
|------------|----------|--------|-----------|-----------------|------------|
| 15.03.2018 | 08:59:59 | 80     | 200       | 0               | 15         |
| 15.03.2018 | 08:59:59 | 80     | 200       | 0               | 0          |
| 15.03.2018 | 09:00:10 | 80     | 200       | 0               | 9921       |
| 15.03.2018 | 09:00:14 | 80     | 200       | 0               | 13687      |
| 15.03.2018 | 09:00:15 | 80     | 200       | 0               | 15000      |
| 15.03.2018 | 09:00:47 | 80     | 200       | 64              | 47000      |

时间列似乎实际上表示请求何时完成,所用时间表示花费了多长时间。因此,要准确测量请求到达的时间,我们必须计算时间 - 所用时间 = 请求到达。对吗?

答案1

time-taken字段显示 HTTP.sys 完全处理该请求所需的时间长度。

时间戳client-request在 HTTP.sys 初始化时接收第一个字节请求的时间戳(因此此处包括网络延迟)。HTTP.sys 是负责 IIS 活动 HTTP 日志记录的内核模式组件。时间戳client-request已初始化HTTP.sys 开始解析请求。

client-request当最后一个(HTTP-)响应发生时停止。

所以答案是肯定的,也是否定的。是的,现在是要求到达 HTTP.sys,不,如果您想要 IIS 的回复时间,这不是测量的时间。例如,一个带有 2MB 有效负载的 POST 请求将比一个短的 WebDAV 保持活动消息花费更长的时间才能到达您的应用程序(花费的时间)。但两者都有相同的“时间”戳。如果您从另一个中减去一个,那么长请求在发送之前就已经“存在”了。

相关内容