下载地址: https://pecl.php.net/package/xhprof [xhprof-0.9.4] wget http://pecl.php.net/get/xhprof-0.9.2 .tgz tar zxvf xhprof-0.9.2.tgz cd xhprof-0.9.2 cd extension phpize#如果没有则可以安装apt-get install php5- /configure make && make install 然后修改php.ini 添加 extension=xhprof.so ;保存目录 在页面输出测量得到的数据的时候 ;它会自动到这儿来找输出的文件 xhprof.output_dir=/tmp PHP7参考:https://github.com/Yaoguais/phpng-xhprof
if (mt_rand(1, 10000) == 1) { //采集请求的万分之一 //xhprof_enable(XHPROF_FLAGS_MEMORY);//生产环境尽量不要统计CPU信息啊 xhprof_enable(XHPROF_FLAGS_CPU+XHPROF_FLAGS_MEMORY); $xhprof_on = true; } foo(); $data = xhprof_disable(); print_r($data); //导入的这些文件都在下载的xhprof压缩包根目录下 include_once ".. /xhprof_lib/utils/xhprof_lib.php"; include_once ".. /xhprof_lib/utils/xhprof_runs.php"; $xhprof_runs = new XHprofRuns_Default(); echo $run_id = $xhprof_runs
本文主要介绍: 在 CentOS7 中的安装 XHProf 配置 XHProf 的网页图形化界面 XHProf 数据的获取和分析 优化举例 XHProf 的实现原理 其他功能 简介 XHProf是一个轻量级的 xhprof.so #储存 XHProf 运行数据的默认目录,默认值是 /tmp xhprof.output_dir=/tmp/xhprof #重启 php-fpm systemctl restart 配置 XHProf 的网页图形化界面 # 将源码包中的lib和html文件夹复制到项目路径下 cp -r /root/xhprof-2.3.8/xhprof_html /wwwroot/xhprof/ XHProf 数据的获取和分析 3.1 数据获取 #开启xhprof xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY 在调用xhprof_enable方法时,会把默认的方法替换为xhprof的方法。
安装 xhprof的开源地址为:https://github.com/longxinH/xhprof 版本下载地址:https://github.com/longxinH/xhprof/releases ] extension=xhprof.so; xhprof.output_dir=/tmp/xhprof 说明 . 把里面的xhprof_lib目录复制出来,复制到项目目录,并且引入: include_once '/home/tioncico/www/xhprof/xhprof_lib/utils/xhprof_lib.php '; include_once '/home/tioncico/www/xhprof/xhprof_lib/utils/xhprof_runs.php'; 开启性能分析:xhprof_enable函数 xhprof_enable(XHPROF_FLAGS_CPU|XHPROF_FLAGS_MEMORY|XHPROF_FLAGS_NO_BUILTINS); //XHPROF_FLAGS_NO_BUILTINS
(Apache Friends XAMPP)但是默认的XAMPP中没有提供xhprof的支持,为此需要自己独立编译。下面记录了编译的过程。 2、下载 xhprof 的源代码。 解压缩,然后进入 xhprof/extension/ 目录 3、依次执行以下命令: /opt/lampp/bin/phpize . 之后去 /opt/lampp/lib/php/extensions/no-debug-on-zts-20060613/ 下查看,会看到已经有 xhprof.so 了。 4、 在 /opt/lampp/etc/php.ini 中添加 extension="xhprof.so" 重启lampp。 5、 重启服务器后,就可以看到phpinfo中xhprof的信息了。 PS:我在使用lampp 1.7 的时候,编译得到的 xhprof.so 不能够够正常加载,提示版本号不对,可能是 参考资料: 1、Apache Friends XAMPP 2、XAMPP Devel
php 安装 xhprof 扩展 (兼容php5、7) https://github.com/longxinH/xhprof git clone git@github.com:longxinH/xhprof.git php xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY); define('XHPROF_START_TIME ; $xhprof_data = xhprof_disable(); if ($xhprof_time > 2 && ! , serialize($xhprof_data)); } }); vi /usr/local/php7/lib/php.ini [xhprof] extension=xhprof.so xhprof.output_dir = /tmp/xhprof xhprof.collect_additional_info = 1 auto_prepend_file ="/tmp/xhprof.prepend.php"; 配置 xhprof.com
二,安装XHProf扩展模块 1,安装 wget http://pecl.php.net/get/xhprof-0.9.2.tgz tar zxvf xhprof-0.9.2.tgz cp . [xhprof] extension=xhprof.so xhprof.output_dir=/home/zhangy/xhprof //如果不加存放目录的话,默认是放在/tmp下面 三,XHProf xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); //调用foo函数,也是我们要分析的函数 foo(); //停止xhprof $xhprof_data "/xhprof_lib/utils/xhprof_lib.php"; include_once $XHPROF_ROOT . ); $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo"); //source名称是xhprof_foo //弹出一个统计窗口,查看统计信息
,配置 [xhprof] extension=xhprof.so xhprof.output_dir=/home/zhangy/xhprof //如果不加存放目录的话,默认是放在/tmp下面 xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); //调用foo函数,也是我们要分析的函数 foo(); //停止xhprof $xhprof_data = xhprof_disable(); //取得统计数据 print_r($xhprof_data); $XHPROF_ROOT = realpath "/xhprof_lib/utils/xhprof_lib.php"; include_once $XHPROF_ROOT . (); $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo"); //source名称是xhprof_foo //弹出一个统计窗口
上一节介绍了《PHP性能分析之Xhprof的安装》(点击查看详情)。 这一节来介绍下Xhprof的具体使用。 Xhprof的使用方式,直接贴示例代码,如下: //在代码的开头处添加启动“xhprof性能分析器”函数 xhprof_enable(); function test(){ for($i=0 //XHPROF_FLAGS_CPU表示收集CPU数据 //XHPROF_FLAGS_MEMORY表示收集内存数据 xhprof_enable(XHPROF_FLAGS_CPU+XHPROF_FLAGS_MEMORY 分析器”函数 $xhprofData = xhprof_disable(); include_once '/var/www/xhprof/xhprof_lib/utils/xhprof_lib.php '; include_once '/var/www/xhprof/xhprof_lib/utils/xhprof_runs.php'; $xhprof_runs = new \XHProfRuns_Default
之前介绍了《PHP性能分析之Xhprof安装》和《PHP性能分析之Xhprof的使用》,链接如下: PHP性能分析之Xhprof安装 PHP性能分析之Xhprof的使用 下面来介绍下Xhprof输出的性能数据说明 Xhprof性能数据界面如下: ? Incl. 表示Including(包含)的缩写 Excl. 总结出来也就是分为三种情况: 1、包含子函数的程序执行时间、CPU时间和内存消耗 2、函数本身的程序执行时间、CPU时间和内存消耗 3、所占程序执行时间、CPU时间或者内存消耗的百分比 ####若是在程序界面上直接输出xhprof 本站文章除注明转载外,均为本站原创 欢迎任何形式的转载,但请务必注明出处,尊重他人劳动 转载请注明:文章转载自:Marser [https://www.marser.cn] 本文标题:PHP性能分析之Xhprof
1.下载安装xhprof $ cd /home/wwwroot/default $ wget $ tar -zxvf xhprof-0.9.4.tgz xhprof $ mv xhprof-0.9.4 / /xhprof $ cd xhprof $ cd extension/ $ phpize $ . make install 2.修改php.ini [xhprof] extension=xhprof.so xhprof.output_dir=/tmp/xhprof $ cd /tmp && mkdir ) $ lnmp vhost add laravel项目中配置xhprof xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY ); foo(); $xhprofData = xhprof_disable(); require '/home/wwwroot/xhprof/xhprof_lib/utils/xhprof_lib.php
安装xhprof wget http://pecl.php.net/get/xhprof-0.9.2.tgz tar zxvf xhprof-0.9.2.tgz cd xhprof-0.9.2/ 编辑php.ini vim /usr/local/php/etc/php.ini #加入如下配置: [xhprof] extension=xhprof.so xhprof.output_dir ; //xhprof_enable(XHPROF_FLAGS_NO_BUILTINS); 不记录内置的函数 //xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY ); 同时分析CPU和Mem的开销 $xhprof_on = true; 在底部加入: // stop profiler $xhprof_data = xhprof_disable(); // // /xhprof_lib/utils/xhprof_lib.php"; include_once ".
下面介绍Xhprof的安装: 1、获取安装包 wget http://pecl.php.net/get/xhprof-0.9.4.tgz 如下图所示: ? 2、解压安装包 tar -zxvf xhprof-0.9.4.tgz cd xhprof-0.9.4 cd extension 3、编译安装: /usr/local/php/bin/phpize . 的扩展,并设置xhprof.output_dir目录: extension = xhprof.so; xhprof.output_dir = /tmp 重启web服务器和php环境,即可生效。 5、查看运行结果 将示例复制到web目录下面: cp -r examples/ xhprof_html/ xhprof_lib/ /home/wwwroot/default/xhprof/ 在浏览器中运行 "http://localhost/xhprof/xhprof_html/",会出现如下列表: ?
XHProf 安装 下载 wget https://pecl.php.net/get/xhprof-2.3.9.tgz tar -zxvf xhprof-2.3.9.tgz cd . /xhprof-2.3.9/extension phpize . extension=xhprof.so; xhprof.output_dir=/tmp/xhprof; 确认是否安装成功 /var/www # php --ri xhprof xhprof xhprof return [ '' => [ \Tinywan\Xhprof\XhprofMiddleware::class, ] ]; 查看分析结果 可以使用XHProf提供的 将XHProf目录复制到Web服务器的根目录下,并访问 http://127.0.0.1/xhprof/xhprof_html/index.php Existing runs Webman\App::Webman
,以及自定义一个用来保存xhprof生成的源文件参考配置如下 [xhprof] extension=xhprof.so xhprof.output_dir=/data/www/xhprof/save_output_dir /xhprof_html /Users/song/mycode/work/test/ cp -r xhprof/xhprof_lib /Users/song/mycode/work/test/ 5.1.2 /xhprof_lib/utils/xhprof_lib.php"; include_once ". (); //需要分析的函数 a(); //结束分析 $xhprof_data = xhprof_disable(); //实例化xhprof类 $xhprof_runs = new XHProfRuns_Default /xhprof/xhprof_html/index.php?
XHProf的安装配置 xhprof的安装配置很简单,我们首先在 PECL 的网站上下载 源码包 然后执行安装过程 % cd <xhprof_source_directory>/extension/ XHProf 生成的数据,可以用 XHProf UI 来进行简单的显示。 XHProf使用也很简单,下面是一个官方的例子: <? (XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); foo(); $xhprof_data = xhprof_disable(); // // Saving "xhprof_lib/utils/xhprof_lib.php"; include_once "xhprof_lib/utils/xhprof_runs.php"; $xhprof_runs Technorati 标签: profile,监控,xhprof 参考文档: 1、Speed UP your php with xhprof 2、xhprof document 3、xhprof
xhprof生成的源文件参考配置如下 [xhprof] extension=xhprof.so xhprof.output_dir=/data/www/xhprof/save_output_dir 4.3 /xhprof_html /Users/song/ //mycode/work/test/ cp -r xhprof/xhprof_lib /Users/song/mycode/work/test/ 5.1.2 /xhprof_lib/utils/xhprof_lib.php"; include_once ". a(); //结束分析 $xhprof_data = xhprof_disable(); //实例化xhprof类 $xhprof_runs = new XHProfRuns_Default(); / /获取当前当前页面分析结果 $run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo"); echo "n ;run=$run_id&source
] extension=xhprof.so xhprof.output_dir=/data/www/xhprof/save_output_dir //需要保证已创建该目录 systemctl restart php-fpm 重启php 二、使用 xhprof_enable(); //需要分析的代码 $xhprof_data = xhprof_disable(); include_once ROOT_PATH /xhprof_lib/utils/xhprof_lib.php'; include_once ROOT_PATH . '/xhprof_lib/utils/xhprof_runs.php'; $xhprof_runs = new XHProfRuns_Default(); $run_id = $xhprof_runs ->save_run($xhprof_data, "xhprof_test"); echo $run_id; //输出run_id 便于查看结果 然后访问 访问$host_url/xhprof_html
/default $ wget http://pecl.php.net/get/xhprof-0.9.4.tgz $ tar -zxvf xhprof-0.9.4.tgz xhprof $ mv xhprof make install 2.修改php.ini 添加到最后 [xhprof] extension=xhprof.so xhprof.output_dir=/tmp/xhprof 在tmp下新建xhprof 重启启动Nginx laravel项目中配置xhprof 启动 xhprof 性能分析器 xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY); 需要测试的内容 foo(); 停止 xhprof 性能分析器 $xhprofData = xhprof_disable(); 根据自己安装的xhprof 写require的路径 require '/home/wwwroot/xhprof/xhprof_lib/utils/xhprof_lib.php'; require '/home/wwwroot/xhprof
安装xhprof 支持php7的xhprof还挺多的, 我们这里使用 https://github.com/longxinH/xhprof 这个项目。 $xhprof_data = \xhprof_disable(); print_r($xhprof_data); output: ? \xhprof_enable(XHPROF_FLAGS_MEMORY + XHPROF_FLAGS_CPU+XHPROF_FLAGS_NO_BUILTINS); ...... $xhprof_data = \xhprof_disable(); include_once '/data/xhprof-master/xhprof_lib/utils/xhprof_lib.php 我们指向我们xhprof项目中的 xhprof_html 目录 ?