如何在生产环境中分析请求?

时间:2018-01-10 23:00:09

标签: php performance memory profiling

我希望在请求期间获取每个被调用方法/函数的内存使用信息。过去几年我一直致力于云服务。当PHP 7.0发布时,我们发现使用相同的代码我们的内存使用量增加了大约30%。

在7.1上,我们注意到每个请求的内存使用量增加了10%。

当时我们在速度和内存之间进行权衡(也是很酷的新功能),我们选择升级环境。

但是现在,PHP 7.2与7.1的速度几乎相同,而我们再次注意到,我们的代码在7.2上使用了大约10%的内存。

我想知道如何测试我们的代码并查看每个方法在请求期间使用了多少内存。我尝试了一些像memory_get_usage()或Meminfo这样的东西,但我正在寻找一种方法来为请求期间调用的所有方法/函数自动生成报告。手动检查2000多个方法/功能真的不可能。

1 个答案:

答案 0 :(得分:1)

有一个maintained fork of xhprof将在你的php版本上运行。注意,您不希望运行不是专门为实时服务中的生产环境设计的分析器! (Xhprof-for-php7旨在用于生产环境)

但要警惕你所测量的指标;单个流程具有相当distorted view of its own footprint