成都创新互联网站制作重庆分公司

PHP性能检测扩展——XHProf-创新互联

引言:XHProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开 关来控制是否进行profile。

安装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 /www/www.hx.com/xhprof/
cd extension/
/usr/local/webserver/php/bin/phpize
./configure  –with-php-config=/usr/local/webserver/php/bin/php-config
make && make install
安装完提示:
Installing shared extensions:    /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/

php.ini中添加
extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/"
这句我原来就有了,就这用添加下面两句
extension=xhprof.so
xhprof.output_dir=/www/logs/xhprof

分析日志输出在/www/logs/xhprof目录。

重新加载php配置文件和重启web
/usr/local/webserver/php/sbin/php-fpm reload
/usr/local/webserver/nginx/sbin/nginx -s reload

刷新phpinfo页面,看到输出中有了xhprof信息。
xhprof  0.9.2
CPU num  2

安装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
make && make install

程序试例
头部:
xhprof_enable();
//xhprof_enable(XHPROF_FLAGS_NO_BUILTINS); 不记录内置的函数
//xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);  同时分析CPU和Mem的开销
$xhprof_on = true;

我觉得用xhprof_enable();就够用了,只统计运行时间(Wall Time)。

生产环境可使用:
if (mt_rand(1, 10000) == 1) {
  xhprof_enable();
  $xhprof_on = true;
}

尾部:
if($xhprof_on){
$xhprof_data = xhprof_disable();
$xhprof_root = '/www/www.hx.com/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 '统计';
}

运行程序,底部出现统计字样,点过去就可以看到性能分析了。按运行时间排序,很容易找出化时间最长的函数。
点[View Full Callgraph]图形化显示,大的性能问题会用红色标出,其次是×××,很明显。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

创新互联公司主营寿县网站建设的网络公司,主营网站建设方案,成都app软件开发公司,寿县h5小程序定制开发搭建,寿县网站营销推广欢迎寿县等地区企业咨询
标题名称:PHP性能检测扩展——XHProf-创新互联
文章路径:http://cxhlcq.com/article/cdocji.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部