原帖:http://linux.bloghome.cn/posts/79184.html
PHP性能调整的好工具:xdebug+kcachegrind
PHP /linuxman
发表于2007-03-21, 00:03
大型的PHP应用通常都需要仔细的进行性能调整,这时候有个好的工具做帮手就顺利多了。这里推荐使用
xdebug 和
kcachegrind ,看下面的图可知一二:
这个图是执行某个php脚本时kcachegrind产生的call map,也就是函数调用的分布图。在图中非常形象的可以看出哪个函数占用了更多的执行时间:只要看哪个色块的面积更大就可以了。
可以看出,pg_connect占用了最多的时间,其次是pg_querey。这符合一般的性能调整的原则:一般的性能问题首先要考虑数据库方面。
有了这个判断,下面就是改进以提升性能了。根据上面的这个图,可以有以下的思路:
具体的优化措施就要看具体的产品了,TBD。
这个图是执行某个php脚本时kcachegrind产生的call map,也就是函数调用的分布图。在图中非常形象的可以看出哪个函数占用了更多的执行时间:只要看哪个色块的面积更大就可以了。
可以看出,pg_connect占用了最多的时间,其次是pg_querey。这符合一般的性能调整的原则:一般的性能问题首先要考虑数据库方面。
有了这个判断,下面就是改进以提升性能了。根据上面的这个图,可以有以下的思路:
- 可以看出,数据库链接占用了大量的时间,因此可以考虑使用pgpool等链接池产品。
- 使用缓存避免数据库链接查询:这是更为有效的方法,完全避免了数据库链接和查询。
具体的优化措施就要看具体的产品了,TBD。