确定PHP代码的性能结果

时间:2008-09-09 00:39:44

标签: php performance

如果您不熟悉内部代码,如何确定PHP代码的性能影响?有没有办法弄清楚你的代码是如何执行的(除了简单地加载测试)?我正在寻找内存使用,算法执行时间等内容。

也许乔尔会说,“学习C,然后阅读内部”,但我现在没有时间学习C(尽管我很乐意,实际上)。

5 个答案:

答案 0 :(得分:4)

使用Xdebug扩展名来分析PHP代码。

答案 1 :(得分:3)

如果你不熟悉valgrind或者类似的话,那就加入@Jordi Bunster的回答......

当您在Xdebug中进行性能分析时,可以在KCacheGrind或WinCacheGrind中打开转储的配置文件,以获得代码中花费时间的图形视图。

幸运的是,xdebug文档还详细解释了这一点以及如何解释结果:http://xdebug.org/docs/profiler

答案 2 :(得分:0)

即使您熟悉内部,您仍应加载测试您的假设。我喜欢使用PEAR Benchmark包来比较不同的代码。

如果您可以隔离代码,则可以简化负载测试。一种典型的技术是每次运行每个选项并查看哪一个更快。例如,如果你有一个类,你可以编写一个测试用例,并通过它的步调来运行它几次。

答案 3 :(得分:0)

您可以使用低级方法,例如将microtime()memory_get_usage()调用粘贴到代码中,或者您可以使用现有的分析解决方案之一:

  1. Xdebug(免费,开源)
  2. Zend Studio/Debugger剖析(商业)
  3. Zend Server Code Tracing(商业)
  4. xhprof(免费,开源)
  5. 像往常一样,商业工具有很好的图形用户界面和漂亮的图片,但是花钱,免费的是免费的,但你可能需要投入更多的时间。

    此外,PHP CGI二进制文件具有-T选项的基准模式,您可以尝试运行php-cgi -T 100 yourscript.php来做穷人的基准测试。

答案 4 :(得分:0)

请参阅SD PHP Profiler,了解可以用图形方式显示PHP应用程序花费时间的工具。