我有一个apache web服务器,当某个用户访问某个页面时,我会得到一个日志行,它的时间戳是不同步的。
示例输出:
IP1 - - [22/Jun/2009:12:20:40 +0000] "GET URL1" 200 3490 "REFERRING_URL1" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"
IP2 - - [22/Jun/2009:12:11:47 +0000] "GET URL2" 200 17453 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.5; en-US; rv:1.9.0.11) Gecko/2009060214 Firefox/3.0.11"
IP3 - - [22/Jun/2009:12:20:41 +0000] "GET URL3" 200 889 "REFERRING_URL2" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GTB6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; 3P_USEC 1.0.11.2; .NET CLR 3.5.30729; .NET CLR 3.0.30618)"(我匿名了请求的I IP1、IP2和IP3,请求的URL2 URL1、URL2和URL3,以及两个引用URL2)
可以看出,这三行(按此顺序出现在日志中)不同步。只有当IP2请求URL2时才会发生这种情况-所有其他日志看起来都很正常。
有什么想法吗?
发布于 2009-06-23 11:37:13
日志是在请求完成时写入的,因此早期的长请求可能会在较晚的短请求之后写入。将%D添加到您的LogFormat定义中,以查看处理请求所用的时间(微秒)。
查看更多here
发布于 2009-06-22 14:31:51
也许你正在做一些彗星的请求?
我的第一个想法是,日志只记录请求完成的时间?因此,也许IP1的请求花了一段时间才完成,但在IP2之前就到达了,据我所知,只有AJAXey Comet的请求才有这种行为。
可能不是正确的答案,也许是一个线索。
编辑:http://www.linuxquestions.org/questions/linux-networking-3/apache-log-entries-order-516354/确认日志中的时间包括将内容传输到浏览器所需的时间。
https://stackoverflow.com/questions/1027310
复制相似问题