启东的个人博客 - xhprof
type: channel
link: https://echo.solo90.com/tag/xhprof/
items: xhprof安装和使用

xhprof安装和使用
type: item
date: 2017-08-23T05:48:00+00:00
description: xhprofxhprof是php性能测试利器、是facebook出品，大公司出品的必属精品截至到我发文章的时候官方xhprof并没有出php7版本的扩展，但是在guthub上有人基于之前的版本做了一个xhprof，全名叫phpng-xhprof，当然还有其他的。用法和官方的扩展一样。网址： https://github.com/yaoguais/phpng-xhprof如果你的PHP版本是5.*直接用官方的就可以。官方的扩展带一些lib文件和前端渲染的文件。分别在xhprof_html，xhprof_lib文件夹。网址：rustjason/xhprof 这个也是xhprof如果你是php7下载这个就不用在去找xhprof_html，xhprof_lib这两个文件夹了然后按照以下步骤去做：cd xhprof/extension which php-config #记录下php-config的路径，接下来要用。 phpize ./configure --with-php-config=/usr/bin/php-config #此处的地址就是上面你记录下来php-config的地址 make sudo make install然后修改配置文件php.ini[phpng_xhprof] extension=phpng_xhprof.so ;下面的这个地址是用来保存测量记录的目录，在页面输出测量得到的数据的时候， ;它会自动到这儿来找输出的文件。 xhprof.output_dir=/Volumes/media/tmpTestPHP使用案例<?php //随机关注 xhprof_enable(); 你要测试的代码段 $xhprof_data = xhprof_disable(); $XHPROF_ROOT = realpath(dirname(__FILE__) .'/../../../Public/common'); include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php"; include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php"; $xhprof_runs = new \XHProfRuns_Default(); $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");使用的注意事项[scode type="red"]我的电脑是mac ，在看视图文件的时候报错：failed to execute cmd：" dot -Tpng". stderr：sh： dot：command not found。解决方案：brew install graphviz /mac系统解决yum install graphviz /centos 解决[/scode]选项介绍 Function Name：方法名称。 Calls：方法被调用的次数。 Calls%：方法调用次数在同级方法总数调用次数中所占的百分比。 Incl.Wall Time(microsec)：方法执行花费的时间，包括子方法的执行时间。（单位：微秒） IWall%：方法执行花费的时间百分比。 Excl. Wall Time(microsec)：方法本身执行花费的时间，不包括子方法的执行时间。（单位：微秒） EWall%：方法本身执行花费的时间百分比。 Incl. CPU(microsecs)：方法执行花费的CPU时间，包括子方法的执行时间。（单位：微秒） ICpu%：方法执行花费的CPU时间百分比。 Excl. CPU(microsec)：方法本身执行花费的CPU时间，不包括子方法的执行时间。（单位：微秒） ECPU%：方法本身执行花费的CPU时间百分比。 Incl.MemUse(bytes)：方法执行占用的内存，包括子方法执行占用的内存。（单位：字节） IMemUse%：方法执行占用的内存百分比。 Excl.MemUse(bytes)：方法本身执行占用的内存，不包括子方法执行占用的内存。（单位：字节） EMemUse%：方法本身执行占用的内存百分比。 Incl.PeakMemUse(bytes)：Incl.MemUse峰值。（单位：字节） IPeakMemUse%：Incl.MemUse峰值百分比。 Excl.PeakMemUse(bytes)：Excl.MemUse峰值。单位：（字节） EPeakMemUse%：Excl.MemUse峰值百分比。