利用xhprof(PHP)扩展进行WEB性能分析

看到此文,是否觉得体内洪荒之力爆发,饥渴难耐想吐槽、情不自禁想捐赠
本文为原创文章,尊重辛勤劳动,可以免费摘要、推荐或聚合,亦可完整转载,但完整转载需要标明原出处,违者必究。

支付宝微  信

最近工作有些小忙,经常加班,偶尔还会通宵。但最终热门微博“混合流”顺利地全量上线了。可是,从性能角度来说,还是有不少的提升空间的。

下面说下利用xhprof来进行WEB性能的分析。

安装xhprof扩展:

官方的文档胜过一切 => http://php.net/xhprof

注意:如果想利用xhprof绘图,那么需要将系统默认禁用函数打开。

;disable_functions = phpinfo,system,exec,shell_exec,passthru,proc_close,show_source

部署xhprof的运行环境:

经过上面的配置,在你跑过项目后,xhprof会输出一份报告文件。不过,这份文件的内容是被序列化的数组。所以,需要搭建一个能够读取该数据文件的WEB环境。

这里给一份xhprof环境的代码:http://pan.baidu.com/s/1bnLvmrl

之后通过访问xhprof的环境,你会看到如下报告界面。

Screen Shot 2015-12-05 at 21.15.34

xhprof文件列表(/xhprof_html/list.php)

Screen Shot 2015-12-05 at 21.15.58

图标形式的xhprof报告(/xhprof_html/index.php)

  • Function Name 方法名称
  • Calls 被调用次数
  • Incl. Wall Time 该函数执行时间(包含内部其他函数调用的时间)
  • Excl. Wall Time 该函数执行时间(不包含内部其他函数调用的时间)

Screen Shot 2015-12-05 at 21.16.26

流程图形式的xhprof报告(/xhprof_html/callgraph.php)

 

需要关注的几点:

  • 同一方法被过多次的调用(也许是无谓的循环导致的)
  • 耗时是否落到了外部接口上(会影响TPS - 每秒请求数量)
  • 是否有内存的过多消耗(会影响计算效率)

 


文章来源:胡旭个人博客 => 【原】利用xhprof(PHP)扩展进行WEB性能分析

转载请注明出处,违者必究!


这是一篇原创文章,如果您觉得有价值,可以通过捐赠来支持我的创作~
捐赠者会展示在博客的某个页面,钱将会用在有价值的地方,思考中...


分类: PHP, 技术 | 标签: , , , , | 评论 | Permalink

发表评论

电子邮件地址不会被公开。