linux下XHProf的安装和使用
2013-05-07 17:43
176 查看
XHProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开 关来控制是否进行profile。
Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20060613/
这句我原来就有了,就这用添加下面两句
extension=xhprof.so
xhprof.output_dir=/www/logs/xhprof
分析日志输出在/www/logs/xhprof目录。
either we can not find profile data for run_id 4d7f0bd99a12f or the threshold 0.01 is too small or you do not have ‘dot’ image generation utility installed.的错误
附运行结果里的名次解释:
1.安装XHprof
wget http://pecl.php.net/get/xhprof-0.9.2.tgz tar zxf xhprof-0.9.2.tgz cd xhprof-0.9.2 cp -r xhprof_html xhprof_lib /你的web目录路径/xhprof/ (此处目的是建立数据分析目录,可将此目录配置成虚拟主机访问) cd extension/ /usr/local/webserver/php/bin/phpize ./configure –with-php-config=/usr/local/webserver/php/bin/php-config (php-config的路径) make && make install安装完提示:
Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20060613/
2.php.ini中添加
extension_dir = "/usr/lib/php5/20090626/"这句我原来就有了,就这用添加下面两句
extension=xhprof.so
xhprof.output_dir=/www/logs/xhprof
分析日志输出在/www/logs/xhprof目录。
3.重启Nginx服务器和php,打开phpinfo()页面便可以看到看到输出中有了xhprof信息。
xhprof 0.9.2 CPU num 2
4.安装libpng包
否则会因为dot 不支持PNG,不能显示图表数据分析,且 出现Error:either we can not find profile data for run_id 4d7f0bd99a12f or the threshold 0.01 is too small or you do not have ‘dot’ image generation utility installed.的错误
wget http://nchc.dl.sourceforge.net/project/libpng/libpng15/1.5.1/libpng-1.5.1.tar.gz //如果不可用,可以在网上找一个下下来再编译安装 tar zxf libpng-1.5.1.tar.gz cd libpng-1.5.1 ./configure make make install
5.安装graphviz,一个画图工具
wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gz tar zxf graphviz-2.24.0.tar.gz cd graphviz-2.24.0 ./configure--with-png=yes make && make install
6.使用方法:
头部: xhprof_enable(); //xhprof_enable(XHPROF_FLAGS_NO_BUILTINS); 不记录内置的函数 //xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); 同时分析CPU和Mem的开销 $xhprof_on = true; 生产环境可使用: if (mt_rand(1, 10000) == 1) { xhprof_enable(); $xhprof_on = true; } 尾部: if($xhprof_on){ $xhprof_data = xhprof_disable(); $xhprof_root = '/www/(xhprof的虚拟主机目录)/'; 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, "hx"); echo '<a href="http://(xhprof的虚拟主机域名)/xhprof_html/index.php?run='.$run_id.'&source=hx" target="_blank">统计</a>'; } 运行程序,底部出现统计字样,点过去就可以看到性能分析了。按运行时间排序,很容易找出化时间最长的函数。 点[View Full Callgraph]图形化显示,最大的性能问题会用红色标出,其次是黄色。
附运行结果里的名次解释:
Function Name 函数名 Calls 调用次数 Calls% 调用百分比 Incl. Wall Time (microsec) 调用的包括子函数所有花费时间 以微秒算(一百万分之一秒) IWall% 调用的包括子函数所有花费时间的百分比 Excl. Wall Time (microsec) 函数执行本身花费的时间,不包括子树执行时间,以微秒算(一百万分之一秒) EWall% 函数执行本身花费的时间的百分比,不包括子树执行时间 Incl. CPU(microsecs) 调用的包括子函数所有花费的cpu时间。减Incl. Wall Time即为等待cpu的时间 减Excl. Wall Time即为等待cpu的时间 ICpu% Incl. CPU(microsecs)的百分比 Excl. CPU(microsec) 函数执行本身花费的cpu时间,不包括子树执行时间,以微秒算(一百万分之一秒)。 ECPU% Excl. CPU(microsec)的百分比 Incl.MemUse(bytes) 包括子函数执行使用的内存。 IMemUse% Incl.MemUse(bytes)的百分比 Excl.MemUse(bytes) 函数执行本身内存,以字节算 EMemUse% Excl.MemUse(bytes)的百分比 Incl.PeakMemUse(bytes) Incl.MemUse的峰值 IPeakMemUse% Incl.PeakMemUse(bytes) 的峰值百分比 Excl.PeakMemUse(bytes) Excl.MemUse的峰值 EPeakMemUse% EMemUse% 峰值百分比
相关文章推荐
- xhprof安装和使用方法(linux版本)
- php性能分析工具XHProf安装配置使用教程(linux精华版)
- Linux下的暴力密码在线破解工具Hydra安装及其组件安装-使用
- 360Wifi2代在linux上安装使用 踩过的的坑和成功的途径 分享一下
- RedHat Enterprise Linux 5.5 系统下使用rpm安装gcc(32位)
- C-Kermit在linux 下的安装和使用
- Linux下安装使用无线网卡(系统:centos 6.5 无线网卡:TL-WN725N V2)
- Linux上的SCWS安装与使用(包括PHP扩展)
- git在Linux上的安装和使用简介
- Linux中的MySQL使用(CentOS默认安装)
- Linux Crontab 安装使用详细说明
- Linux下使用二进制源码包安装node
- OMSA在Linux系统上安装及使用
- 在linux下使用wine安装source insight遇到的问题
- Linux SVN的安装使用
- linux中json处理工具jq的安装和使用
- 7z介绍、7z命令在linux的安装和使用、7z移植到嵌入式linux的系列专题汇总
- linux下minicom 的安装与使用
- 【VNC】Linux环境VNC服务安装、配置与使用
- linux性能监控工具collectl安装及简要使用说明