如果您不熟悉内部部件,如何确定PHP代码的性能后果?有没有办法找出你的代码是如何执行的(除了简单的加载测试)?我正在寻找内存使用情况,算法执行时间等问题。也许乔尔会说,“学习C,然后阅读内部”,但我现在真的没有时间学习C(尽管我真的很喜欢)。确定PHP代码的性能结果
6
A
回答
4
使用Xdebug扩展来剖析PHP代码。
3
如果你不熟悉的valgrind或类似的,然后添加到@Jordi本斯特的答案...
当你已经在Xdebug的剖析上,你可以在KCacheGrind打开倾倒轮廓文件或WinCacheGrind获取代码中花费时间的图形视图。
幸运的是Xdebug的文件还详细解释了这个问题,以及如何解释结果:http://xdebug.org/docs/profiler
0
即使你熟悉的内部,你还是应该进行负载测试你的假设。我喜欢使用PEAR Benchmark包来比较不同的代码。
如果你能隔离你的代码,你可以保持你的负载测试简单。一个典型的技术是运行每个选项几次,看看哪一个更快。例如,如果你有一个类,你可以编写一个测试用例,并通过它的步调并运行几次。
0
可以使用低级别的方法,如坚持microtime()
和memory_get_usage()
调用到代码,也可以使用现有的配置解决方案之一:
- Xdebug(免费,开源)
- Zend Studio/Debugger分析(商业)
- Zend Server Code Tracing(商业)
- xhprof(免费,开源)
像往常一样,商业工具具有很好的图形用户界面和漂亮的图片,但花费金钱,免费的是免费的,但您可能需要投入更多时间。
此外,PHP CGI二进制与-T
选项有一个基准模式,你很多尝试运行php-cgi -T 100 yourscript.php
做一个穷人的基准。
0
请参阅SD PHP Profiler了解如何使用图形方式向您显示PHP应用程序花费时间的工具。
相关问题
- 1. 不正确的结果在C代码
- 2. C++代码不正确的结果
- 3. 确定性退火代码
- 4. 浮点限制代码不能产生正确的结果
- 5. 剖析php代码的解释结果
- 6. 我的PHP代码不工作结果
- 7. PHP订购结果的代码逻辑
- 8. SciPy的linalg确定性/不确定性代码
- 9. PHP的foreach代码的性能速度
- 10. 获取代码中的绑定结果
- 11. PHP Memcached扩展结果代码
- 12. php代码(获得json结果)
- 13. 回声PHP结果在JavaScript代码
- 14. JAVA Md5返回非确定性结果
- 15. Kentico智能结果布局代码
- 16. 的功能正确性检查自定义代码:(ATC FUNCTIONAL_DB)
- 17. PHP搜索代码不输出结果结果
- 18. SQL性能结果
- 19. 确定System.Net.Mail.SmtpClient.Send结果
- 20. RemoteActor.select - 结果确定?
- 21. PHP代码未能给出corrent结果最有可能的逻辑错误
- 22. 结果我的代码
- 23. 代码结果的说明
- 24. 一段PHP代码我不太确定
- 25. PHP的foreach代码没有产生效果结果
- 26. 不确定结果的JavaScript
- 27. 为什么执行mergesort的代码不能产生正确的结果?
- 28. SQL代码性能
- 29. 在代码性能
- 30. 正确地编码和解码json结果(php到js)
不要挂在这样的微观优化上。每个PHP Web应用程序都应该通过操作码缓存运行,这使得微型优化非常多余。加载测试已完成的应用程序要好得多,因为您可以看到时间实际正在进行的时间并专注于该时间 – Polsonby 2008-09-23 21:40:13