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

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

安装xhprof扩展:

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

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

[code lang=”php”]
;disable_functions = phpinfo,system,exec,shell_exec,passthru,proc_close,show_source
[/code]

部署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性能分析

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

Share:

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.