每分钟测量一次“加载时间(毫秒)”

我有一个运行在虚拟服务器上的apache,即使在检索静态的JPG或PNG文件的时候,效果也很糟糕。 这只会偶尔发生一次,所以我很难将其logging到托pipe公司。

有没有一个好的工具,可以轻松地存储每分钟一个Web服务器上的文件“加载时间毫秒”? 也许甚至一个shell脚本一行,我可以运行在“屏幕”会议?

您可以修改Apache日志logging格式(如果它尚未存在),以logging处理请求所花费的时间:

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

这是%D增加时间,以微秒为单位。

为了更容易地debugging页面加载时间,您可以添加包含此信息的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

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

如果您已经运行NAGIOS或ICINGA ,则check_http插件可以评估加载时间,如果它们超过了某个阈值,则执行WARNING或CRITICAL。 我不确定我是否将其中的任何一个都纳入了这个范畴,但是如果您已经使用了这个插件,那么这个插件非常适合定性监控( 这个页面加载的时间多长时间 )。

如果你更喜欢定量的数据( 这个页面需要多长时间才能加载? )并且正在运行munin ,那么check_http_requisites插件将会跟踪这个数据。

许多其他监控系统无疑具有类似的function; 你现在正在做什么内部监控?

如果上面的答案是“没有”的话,我请求你的原谅,如果我把所有的肥皂盒都放一会儿:现在是时候给一个适当的监控解决scheme了。我知道这很有诱惑力,脚本,但他们迅速成长为不可维护的。 而一旦你被放入一个好的,免费的,基于插件的监控解决scheme中,你突然发现了其他的东西,这对于监控来说是非常有用的,你不必重新进行数据收集,数据整理,数据显示和错误通知基础设施。