基准测试 PHP 页面加载时间

2022-08-30 21:27:25

如何测量加载页面(使用各种不同的PHP语句)所花费的时间?

有点像这里提供的统计数据 - http://talks.php.net/show/drupal08/24


答案 1

有很多方法可以做到这一点。我个人一直喜欢通过以下方式使用微时间

// 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,图像等)。


答案 2

最简单的也是Apache Bench(称为ab),它与Apache一起提供:

  • 它是一个命令行工具
  • 这可以并行地向和URL发送许多请求
  • 并报告计时,错误,...

似乎符合幻灯片上显示的那种非常简单的报告。
(它实际上报道的不止于此)


如果你的需求稍微复杂一些,Siege可能是一个不错的选择。

Siege的一个有趣的事情是,它可以从文件中获取URL列表,而不是只使用一个URL。


使用这些工具的一个有趣的事情是,您不仅要测量执行特定部分代码所需的时间(就像在PHP代码中直接使用microtime一),而且您可以获得提供页面所需的全部时间。

此外,它可以对PHP代码进行基准测试,因为它正在处理HTTP请求,而不是代码本身。


推荐