您可以使用microtime()来破坏代码的执行时间.这是一个基本的代码片段:
$start_timestamp = microtime(true);
...
---your Code---
...
$end_timestamp = microtime(true);
$duration = $end_timestamp - $start_timestamp;
error_log("Execution took ".$duration." milliseconds.");
Run Code Online (Sandbox Code Playgroud)
xDEBUG(参见Neil Aitken的回答)对于识别PHP代码中的不良性能问题很有用 - 但它只能在非常有控制和限制条件下使用 - 尤其是很难看出concurency对性能的影响.
正如帕特里克·马里建议的那样,你可以使用ab - 如果你试图测量的事务跨度超过页面,它不是一种可行的方法(例如登录应用程序并创建会话,将随机产品添加到购物篮,重复添加随机产品N倍...).
AFAIK没有基于PHP的录制/脚本交互解决方案 - 但有Perl + WWW:Mechanize + HTTP:recorder.或者,如果你非常富有,你可以买HPs loadrunner产品.
但是很难实现真正代表应用程序使用方式的测试 - 应用程序的性能(至少与数据相关的部分)会随着时间的推移而变化 - 因此您需要在代码中构建适当的性能指标.
...即便如此,PHP生成HTML页面所花费的时间只是一个页面在浏览器上呈现所需时间的故事的一小部分.
HTH
C.