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

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

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

安装xhprof扩展:

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

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

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

部署xhprof的运行环境:

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

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

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

利用xhprof(PHP)扩展进行WEB性能分析_第1张图片

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

利用xhprof(PHP)扩展进行WEB性能分析_第2张图片

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

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

利用xhprof(PHP)扩展进行WEB性能分析_第3张图片

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

 

需要关注的几点:

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

 

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

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

你可能感兴趣的:(PHP,xhprof,性能分析)