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

作者 : shijian 本文共1262个字,预计阅读时间需要4分钟 发布时间: 2019-10-21 共65人阅读

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-fpm

service 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

e5af2af524e8771bb982624d4dbc4b0.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

ea3c0e00a5744b850840e9eaae2c66f.png

显示的指标有

1.函数名

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

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

4.total calls 总调用次数

以上就是tideways+toolkit对php代码进行性能分析的详细内容,更多请关注吆喝资源网其它相关文章!

本文转自PHP中文网,吆喝网(http://yaoohe.com)搜集整理,如有疑问请联系本站客服!

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"yaoohe.com",如遇到无法解压的请联系管理员!
吆喝资源网 » tideways+toolkit对php代码进行性能分析

常见问题FAQ

提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们。

发表评论