每分钟测量“以毫秒为单位的加载时间”

每分钟测量“以毫秒为单位的加载时间”

我在虚拟服务器上运行 Apache,有时它的性能非常差 - 甚至在检索静态 JPG 或 PNG 文件时也是如此。这种情况只是偶尔发生,因此我很难向托管公司记录此事。

有没有一个好用的工具,可以每分钟轻松地存储一个文件在 Web 服务器上的“加载时间(以毫秒为单位)”?也许甚至是一个可以在“屏幕”会话中运行的 shell 脚本单行程序?

答案1

您可以修改 apache 日志格式(如果尚不存在),使其记录处理请求所花费的时间:

LogFormat "%h %D %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

这是%D它添加了时间,以微秒为单位。

为了更轻松地调试页面加载时间,您可以添加包含此信息的 HTTP 标头(这样您甚至不必读取日志文件):

Header set X-Request-Received: %t
Header set X-Request-Processing-Time: %D

请记住先执行启用 mod_headers标题模块

现在您应该在响应中看到这些标头:

X-Request-Received  t=1286995673038485
X-Request-Processing-Time   D=251

(读到这一页唤起了我的记忆http://goo.gl/hjHeT

答案2

我个人喜欢 Coops 的回答,但如果你想要一个独立的检查加载时间(即我从服务器获取所有页面数据花了多长时间, 而不是服务器认为提供所有页面数据需要多长时间)这个答案可能会有帮助。

如果你已经在跑步网管系统或者冰加,该check_http插件可以评估加载时间,如果超过某些阈值,则发出警告或严重警告。我不确定我是否会为此而安装它们,但如果你已经在使用其中一个,该插件非常适合定性监控(该页面多久会加载太长时间?)。

如果你更喜欢定量数据(此页面需要多长时间加载?)并正在运行穆宁, 这检查 http 要求插件将会跟踪它。

许多其他监控系统无疑也会有类似的功能;您目前使用什么进行内部监控?

如果上面的答案是“没什么”,请原谅我发了一会儿牢骚:现在是时候引入一个适当的监控解决方案了。我知道插入一行脚本很诱人,但它们很快就会变得无法维护。而一旦你安装了一个好的、免费的、基于插件的监控解决方案,你就会突然发现各种其他监控确实很有用,而且您不必每次都重新设计数据收集、数据整理、数据显示和错误通知基础设施。

相关内容