Php CPU周期基准测试

Php CPU周期基准测试,php,memory,benchmarking,cpu,Php,Memory,Benchmarking,Cpu,我们已经将网站的一个重要模块从普通PHP移植到Symfony 这个模块有很多页面点击,因此我们需要判断额外的硬件需求(如果有)。我们希望在移植后对网页的额外内存和CPU周期进行基准测试 PHP中是否有任何现有的工具或函数来获取这些统计数据?我在php中遇到过getrusage函数,但它似乎不可靠。Symfony和我看到的大多数其他框架提供了一个内置的基准测试系统,我发现它非常有用 还要看看你是否觉得这个有用。 您可以在开发服务器上进行与生产服务器等效的压力测试,例如每秒请求量相等,而不是以这种方

我们已经将网站的一个重要模块从普通PHP移植到Symfony

这个模块有很多页面点击,因此我们需要判断额外的硬件需求(如果有)。我们希望在移植后对网页的额外内存和CPU周期进行基准测试


PHP中是否有任何现有的工具或函数来获取这些统计数据?我在php中遇到过
getrusage
函数,但它似乎不可靠。

Symfony和我看到的大多数其他框架提供了一个内置的基准测试系统,我发现它非常有用

还要看看你是否觉得这个有用。
您可以在开发服务器上进行与生产服务器等效的压力测试,例如每秒请求量相等,而不是以这种方式进行基准测试。(别忘了安装操作码缓存)。

Symfony是分析PHP项目的最佳框架之一。它内置了一些很棒的工具

在Symfony Conf 2010上,您的选择进行了精彩的讨论

此处的幻灯片可用于创建callgrind文件和函数跟踪

前者解释了在请求中花费的时间、函数调用的计数等。例如,可用于检查该数据


后者可用于查看实际中某些函数路径的工作方式,检查函数的内存使用情况,以及每个函数的内存使用情况

看看我们的网站。您可以以最小的开销获得相对计数,也可以在方法和调用树上获得计时。

:-Xdebug和KcacheGrind类型的工具还将占用cpu和内存资源,并一次处理一个请求,我们希望使用apache benchmark等工具进行基准测试,然后使用这些工具的cpu时间和内存日志来查看高负载下的模式。可以为每个请求追加这些cachegrind文件,而不是覆盖这些文件。虽然它为操作增加了相当多的额外负载,但相对使用率在大多数情况下是正确的。是的,我们会这样做,但如果我们用它获得cpu时间和内存模式,那么我们可以更好地规划,因为网站上还有许多其他模块,模拟网站流量也会模拟它们。我们希望每个模块类型的统计数据消耗负载,以进行容量规划。乔恩,这是相当多的。我需要检查一下。你能根据我的需要推荐一个吗。谢谢:)请参考symphony内置的基准测试系统。关于apache基准测试,我也将这样做。我可能会使用jmeter或seake来访问网站上的不同页面。ab只支持一个并不意味着迂腐,但它的拼写是“Symfony”。