PHP CPU周期基准测试

4
我们已将网站的重要模块从纯PHP迁移到Symfony。
该模块有很多页面点击量,因此我们需要评估是否需要额外的硬件资源。我们希望在迁移后对网页所需的额外内存和CPU周期进行基准测试。
是否有现有的工具或PHP函数可以获取这些统计信息?我发现了PHP中的getrusage函数,但它似乎不太可靠。

不是故意挑剔,但正确拼写应该是“Symfony”。 - Berry Langerak
5个回答

3

XDebug可以用于创建callgrind文件和函数追踪。

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

后者可用于查看特定功能路径的实际工作方式,在逐个函数基础上检查内存使用情况等。


Xdebug和KcacheGrind这类工具也会占用CPU和内存资源,并且一次只能处理一个请求,我们希望使用诸如Apache Benchmark等工具进行基准测试,然后使用工具记录的CPU时间和内存日志来查看高负载下的模式。 - Shivam
这些cachegrind文件可以追加而不是覆盖每个请求。虽然它会增加相当多的额外负载到操作中,但相对使用大部分时间是正确的。 - Smar

0

请告诉我symphony的内置基准测试系统。在使用Apache基准测试之后,我也会这样做。我可能会使用jmeter或siege来访问网站上的不同页面。ab仅支持一个。 - Shivam

0

与其这样进行基准测试,不如在开发服务器上进行压力测试,该服务器应当与生产服务器相当,并且每秒请求数量相等,例如 Apache Benchmarking Tool。(别忘了安装一个 op-code 缓存)。


是的,我们会这样做,但如果我们能够获取CPU时间和内存模式,那么我们可以更好地进行规划,因为网站上还有许多其他模块,模拟网站流量也会模拟它们。我们希望获得每个模块类型的负载消耗统计数据,以进行容量规划。 - Shivam

0

Jon,这是相当多的。需要仔细查看它们。您是否可以根据我的需求推荐一个?谢谢 :) - Shivam

0

请查看我们的PHP性能分析工具。您可以在最小开销下获取相关计数,或者获取方法和调用树的时间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接