我经常遇到一个非常类似的问题。不过,我采取了一些不同的方法:首先,为什么我应该关心静态内容?我的意思是,当然对用户来说很重要,如果图像需要2分钟或2秒钟,但在完全开发页面后,这不是我的问题。这些事情在开发和部署后都是问题,它不是静态内容,但它是动态的东西,通常会减慢速度(就像你在最后一段中所说的那样)。接下来的事情是,你为什么相信这么多东西保持不变?如果您的网络上有人启动了一个p2p程序,路由出错或您的ISP有一些问题,您的服务器状态肯定会下降。你的基准测试对全球的用户或仅使用不同的ISP有什么影响?我所说的是,你是基准你的观点,但这并没有太多关于服务器的性能,是吗?
为什么不让网站/服务器本身确定加载需要多长时间?这里有一个用PHP编写的小例子:
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
function benchmark($finish)
{
if($finish == FALSE){ /* benchmark start*/
$GLOBALS["time_start"] = microtime_float();
}else{ /* benchmark end */
$time = microtime_float() - $GLOBALS["time_start"];
echo '<div id="performance"><p>'.$time.'</p></div>';
}
}
它在页面末尾增加了构建的时间(用css隐藏)。每隔几分钟我用一个正则表达式对它进行grep解析。如果这段时间上升,我知道有什么不对(包括静态内容!),并通过RSS-Feed我得到通知,我可以采取行动。
随着萤火虫,我们知道一个网站加载所有内容(开发阶段)的“正常”性能。通过基准测试,我们获得了当前的服务器状况(即使是在我们的手机上)。好。接下来是什么?我们必须确保所有/大部分访问者获得良好的联系。我觉得这部分非常困难,并且乐于接受建议。不过,我尝试使用日志文件并ping几个IP,以查看访问此网络需要多长时间。另外,在我决定使用特定的ISP之前,我会尝试阅读有关连接和用户的意见......
+1 - 我很奇怪的这个想法很舒服 - 大声笑 – 2009-04-24 21:38:28
伟大的思想认为一样:) – 2009-04-24 21:40:06