php性能测试瓶颈分析,php性能瓶颈分析:xhprof

xhprof简介

下载安装与配置

1、下载

cd $ROOT_PATH/webroot

wget -nv 'ftp://getprod:getprod@product.scm.baidu.com:/data/prod-64/inf/odp/tools/perftool/perftool_1-0-2_BL/output/perftool.tar.gz'

tar xzf perftool.tar.gz

2、安装与配置

如果是PHP,修改php/etc/ext/xhprof.ini,并重启php-cgi:

[xhprof]

extension="xhprof.so"

如果是HHVM,修改hhvm/conf/hhvm.hdf,开启xhprof开关,并重启hhvm:

Stats {

EnableHotProfiler = true

}

3、其他

想要在浏览器中查看结果文件,需要确认下nginx中的配置是否包含所有index.php,否则,需要自己配置,如下所示:

#nginx.conf

location ~ ^/perftool/.*\.php$ {

root $ROOT_DIR/webroot;

fastcgi_pass $php_upstream;

fastcgi_index index.php;

include fastcgi.conf;

}

location ~ ^/perftool/ {

root $ROOT_DIR/webroot;

index index.php;

}

使用

1、记录全局使用 ,在index.php中,其他在出口入口

require_once('/xxx/webroot/perftool/xhprof/include.php');

#出口处

XHProf::enable();

#结束的地方

XHProf::disable();

2、结果分析查看:

查看刚刚的接口性能链接:

结果如下图所示:默认是按Inc Wall Time(每个函数执行总时间,包含其调用的子函数的执行时间)排列的,各个解释如后续引用:

97dd086911a2?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

Calls:函数的调用次数

Incl. Wall Time (microsec) :包含内部函数花费的时间,单位微秒

Excl. Wall Time (microsec):不包含内部函数花费的时间,单位微秒

及所占百分比(%)

注:Incl.:为 Including 包含的简写

Excl.:为 Excluding 不包含的简写

Wall Time:意为挂钟时间即任务花费的时间

想知道哪个函数最花时间,应该看Excl Wall Time(每个函数执行时间,不包含其调用子函数的时间),点击按Excl Wall Time排列

97dd086911a2?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

发现花费时间较多的是:

mysqli::query 和mysqli::real_connect 以及file_put_contents,file的可以通过后续文件上传专门服务器解决,但是数据库性能的问题如何解决,需要再调研。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值