Xhgui+Tideways 的使用

Tideways

将应用程序性能带出黑暗

不断分析您的应用程序的性能,使您能够找到性能欠佳的区域并从根本上进行修复

安装Tideways  PHP扩展

项目地址:https://github.com/tideways/php-xhprof-extension

编译安装:

配置PHP.ini  文件

[tideways_xhprof]
extension=c_xhprof.so
;不需要自动加载,在程序中控制就行
tideways.auto_prepend_library=0
;频率设置为100,在程序调用时能改
tideways.sample_rate=100

查看tideways 扩展是否安装

1.phpinfo()

2.php -m | grep tideways

xhgui

安装xhgui

安装依赖:

1.mongodb

2.composer

中文项目地址:https://github.com/laynefyc/xhgui-branch

配置文件目录:

xhprof_gui/config

安装xhgui

$ git clone https://github.com/maxincai/xhgui.git
 $ cd xhgui
 $ php install.php
加索引
$ mongo
 > use xhprof
 > db.results.ensureIndex( { 'meta.SERVER.REQUEST_TIME' : -1 } )
 > db.results.ensureIndex( { 'profile.main().wt' : -1 } )
 > db.results.ensureIndex( { 'profile.main().mu' : -1 } )
 > db.results.ensureIndex( { 'profile.main().cpu' : -1 } )
 > db.results.ensureIndex( { 'meta.url' : 1 } )

在需要分析的项目代码执行前引入文件

include "/xhgui/external/header.php";

设置查看分析记录web站点

server {
    listen   80;
    server_name  xhgui.kj120.cn;

    # root directive should be global
    root   /Users/birjemin/Developer/Php/xhprof_gui/webroot;
    index  index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        try_files       $uri =404;
        include         fastcgi_params;
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

注意

  • 分析方式请自行更具url设置
    'profiler.enable' => function() {
        // url 中包含debug=1则百分百捕获
        if(!empty($_GET['debug'])){
            return True;
        }else{
            // 1%采样
            return rand(1, 100) === 42;
        }
    },
  • 在xhgui的config/config.default.php中,可设置采样命中次数;
    • return rand(1, 100) === 42; 为1%的采样率,改成return True;则标识每次都采样
  • 分析参数过多则清除mongodb数据
    $ mongo
      $ use xhprof;
      $ db.dropDatabase();

     

  • mongoDb报错这是一个bug(issue),请按照这个方法修改相应文件。替换掉这段代码

参考文档:

https://segmentfault.com/a/1190000013322461?utm_source=tag-newest

http://blog.it2048.cn/article-tideways-xhgui/

发表评论