首页 >后端开发 >php教程 > 正文

PHP性能分析平台搭建

原创2019-08-16 18:09:5602333

PHP性能分析平台搭建(tideways + xhgui+ nginx + php7)

介绍

搭建一个PHP性能分析平台搭建,在不用改动你程序的代码,通过 nginx 为你程序上方在加一层监控层(产出固定日志),分析日志的出程序信息,进行性能分析优化

一、安装mongodb

此处省略1000字,自己查找文档

二、安装mongodb扩展

    wget http://pecl.php.net/get/mongodb-1.4.0.tgz
    tar -zxvf mongodb-1.4.0.tgz
    cd mongodb-1.4.0
    phpize
    ./configure --with-php-config=你的php-config路径 我的是在/usr/local/Cellar/php@7.1/7.1.16_1/bin/php-config
    make
    make install

三、安装tideways扩展

    git clone https://github.com/tideways/php-profiler-extension.git
    cd php-profiler-extension
    phpize
    ./configure --with-php-config=你的php-config路径
    make 
    make install

四、修改配置文件

    extension=tideways.so
    tideways.auto_prepend_library=0
    extension=mongodb.so

五、下载xhgui项目

    #https://github.com/perftools/xhgui  (汉化)
    git clone https://github.com/perftools/xhgui.git
    cd xhgui
    php install.php(看下是否有vendor这个目录)
    ##项目配置
    #配置文件:config/default_config.php
    #运行目录:webroot
    #nginx rewrite规则
    #   location / {  
    #       try_files $uri $uri/ /index.php$is_args$query_string;  
    #   }

六、配置文件修改

#xhgui 默认是采集1% ,如果是排查问题时还是希望能够100%采集会比较方便。进入xhgui源码目录,修改config/config.default.php文件,
#平时仍然按1%的采样率采样,防止数据增长过快,当想调试时,就在URL中添加debug=1的参数即可。
#在xhgui/config/config.default.php中,找到profiler.enable这里,按如下修改:
#mongo
//采样率
'profiler.enable' => function() {
    // url 中包含debug=1则百分百捕获
    if(!empty($_GET['debug'])){
        return true;
    } else {
        // 1%采样
        return rand(1, 100) === 42;
    }
},
//优化建议:可以给mongo数据表加上索引

七、使用&效果

//在需要的项目中的最开始,引入文件即可
require "/dir/external/header.php";
//操作项目,即可在xhgui平台中查看数据分析性能

效果图如下图

AtAvXkLVlc.pngDBBModRJ8r.png

更多PHP相关技术文章,请访问PHP教程栏目进行学习!

以上就是PHP性能分析平台搭建的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:PHP
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    步履不停

    分分合合拂袖悲欢,生生世世心甘情愿。

    最近文章
    phpStudy2018 Nginx4045494
    PHP中的进制转换3428
    PHP 代码优化 技巧总结3235
    推荐视频教程
  • ThinkPHP6.0极速入门(视频教程)ThinkPHP6.0极速入门(视频教程)
  • ThinkPHP6.0公益直播课ThinkPHP6.0公益直播课
  • 视频教程分类