我最近遵循这个指南来获得web服务器上的siteload的性能测量。
要loggingApache处理请求所需的时间,请将其添加到您的apacheconfiguration文件中:
LogFormat "%h %D %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined%D意味着您将看到Apache在访问日志中处理请求的时间。 时间以微秒来衡量。
为了更容易地debugging页面加载时间,将其添加到您的configuration文件中:
- Linux中与Sysstat(或类似的)相当的Windows性能计数器
- 有没有性能改变?
- 监视工具的Linux用户权限设置
- Windows 2008性能监视器 – 磁盘性能
- mpstat不显示intr / s列
Header set X-Request-Received: %t Header set X-Request-Processing-Time: %D记得通过执行a2enmod标题首先启用mod_headers。 现在你应该在响应中看到这些标题:
X-Request-Received t=1286995673038485 X-Request-Processing-Time D=251
我完全使用上面的代码(在.htaccess中定义了头文件),但是在日志中获得了“525151”,而在相同请求的头文件中获得了“262”。 一般来说,这些数字之间似乎有数量级的差别
192.0.2.1 525151 - - [21/Aug/2011:14:19:53 +0200] "GET /images/site/slide-1.png HTTP/1.1" 262 423285 "http://example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"
与
X-Request-Processing-Time:D=262 X-Request-Received:t=1313929193502879
我怎样才能解决这个问题?
你可以validation你的LogFormat名称“组合”匹配什么你的CustomLogvariables正在使用。 我在OS X上进行了testing,除了在写回头文件和读取日志时(在将所有数据发回给客户端之后)读取variables之间的细微差别之外,它们非常接近:
/etc/apache2# grep LogF httpd.conf LogFormat "%h %l %u %t \"%r\" %>s %b %t %D" common /etc/apache2# grep CustomL httpd.conf # a CustomLog directive (see below). CustomLog "/private/var/log/apache2/access_log" common # wget -qqO /dev/null -S http://localhost/ ... X-Request-Received: t=1314588821970347 X-Request-Processing-Time: D=336 /private/var/log/apache2# tail access_log ::1 - - [28/Aug/2011:20:33:41 -0700] "GET / HTTP/1.0" 200 44 [28/Aug/2011:20:33:41 -0700] 587
我认为你最好的select可能是为你的自定义LogFormatselect一个“正确的”名字,而不是重新使用/改变combined日志格式。
除此之外(和@polynomialbuild议的一样),似乎你所显示的configuration和显示的输出之间存在差距。
如果只是为了使疑难解答更不明确(目前,你不知道是否默认combined ( LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined )或者正在使用您的版本)。
所以我会先做一些事情:
LogFormat "%h %D %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" perf-combined
然后在需要的地方使用perf-combined。
看@ @ polynomial例子中的Header%D和AccessLog%D值之间的相当大的差异,我还想知道这两者实际上是否代表请求处理中的两个不同的点:
这是一个完整的猜测。