我怎样才能测量加载页面所需的时间(使用各种不同的PHP语句)?
有点像这里的统计数据 - http://talks.php.net/show/drupal08/24
有很多方法可以做到这一点.我个人一直喜欢以下列方式使用microtime:
// Start of code $time = microtime(true); // Gets microseconds // Rest of code // End of code echo "Time Elapsed: ".(microtime(true) - $time)."s";
这将为您提供微秒精度.
如果您正在编写命令行脚本(如Facebook谜题),您可以使用时间.
time php dancebattle.php ~/input.dat Win real 0m0.152s user 0m0.142s sys 0m0.012s
我忘记了监控页面加载时间的方法(来自浏览器).您可以使用Firebug(适用于Firefox)的NET选项卡来执行此操作.它将让您观看各种文件加载(AJAX,JS,CSS,图像等).
最简单的是Apache Bench (被称为ab
),它随Apache提供:
这是一个命令行工具
这可以并行发送许多请求和URL
并报告时间,错误,......
似乎适合幻灯片上显示的那种非常简单的报告.
(它确实报告的不止于此)
如果您的需求更复杂,Siege可能是一个不错的选择.
Siege的一个有趣的事情是它可以从文件中获取一个URL列表,而不是只使用一个.
这些工具的一个有趣之处在于,您不仅仅测量执行特定代码部分所花费的时间(就像您microtime
在PHP代码中直接使用那样),但是您需要花费整个时间来提供服务.页.
此外,它可以不只是PHP代码进行基准测试,因为它正在处理HTTP请求,而不是代码本身.
$ time curl http://www.example.com/
请注意,它会占用整个请求,包括网络延迟.但那可能是你想要的吗?