tideway php,tideways toolkit对php代码进行性能分析

toolkit是tideway官方提供的性能分析的命令行工具。如果你只是本地开发调试接口性能,不想安装xhgui,那么使用toolkit就足够了.

安装

安装tideways拓展git clone https://github.com/tideways/php-xhprof-extension.git

cd php-profiler-extension

phpize

./configure

make && make install

在php.ini中加入extension=tideways_xhprof.so

重启php-fpmservice php-fpm restart

toolkit安装go get github.com/tideways/toolkit

# 安装graphviz

# macOS

brew install graphviz

# ubuntu

sudo apt-get install -y graphviz

设置别名alias tk=toolkit

tideways toolkit

代码埋点

在程序入口中加入if (extension_loaded('tideways_xhprof')) {

tideways_xhprof_enable(TIDEWAYS_XHPROF_FLAGS_CPU | TIDEWAYS_XHPROF_FLAGS_MEMORY);

}

// 你的代码

application();

if (extension_loaded('tideways_xhprof')) {

$data = tideways_xhprof_disable();

file_put_contents(

sprintf('%s/app.xhprof', '/path/to'),

json_encode($data)

);

}

执行下代码,然后就会生成/path/to/app.xphrof

性能分析tk analyze-xhprof /path/to/app.xphrof

c149776978b7c6c011eb3d7bf415af73.png

默认性能分析的指标是wt_excl,其他的指标有

1.wt 调用时长,包括子函数

2.excl_wt 调用时长,不包括子函数

3.cpu CPU调用时长,包括子函数

4.excl_cpu CPU调用时长,不包括子函数

5.memory 内存消耗(字节),包括子函数

6.excl_memory 内存消耗(字节),不包括子函数

7.io io时长,包括子函数

8.excl_io io时长,不包括子函数

生成性能瓶颈图tk generate-xhprof-graphviz /path/to/app.xhprof

dot -Tpng callgraph.dot > callgraph.png

131d69a0a793f55f1d177be505dbb16d.png

显示的指标有

1.函数名

2.Inc 函数运行时间,包括子函数

3.Excl 函数运行时间,不包括子函数

4.total calls 总调用次数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值