Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 Tideways、xhprof 和 xhgui 打造 PHP 非侵入式监控平台

Tideways、xhprof 和 xhgui 打造 PHP 非侵入式监控平台

发布时间:2020-11-28   编辑:www.jquerycn.cn
jquery中文网为您提供Tideways、xhprof 和 xhgui 打造 PHP 非侵入式监控平台等资源,欢迎您收藏本站,我们将为您提供最新的Tideways、xhprof 和 xhgui 打造 PHP 非侵入式监控平台资源

环境准备

安装之前确保已经正确安装了以下软件

  • PHP
  • Nginx
  • Mongodb

安装 PHP mongodb 扩展

$ sudo pecl install mongodb

PHP 配置文件中添加

[mongodb] extension=mongodb.so

安装 PHP tideaways 扩展

常规编译安装

$ git clone https://github.com/tideways/php-xhprof-extension.git $ cd /path/php-xhprof-extension $ phpize $ ./configure $ make $ sudo make install

PHP 配置文件中添加

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

安装 xhgui-branch(xhgui 的汉化版)

$ git clone https://github.com/laynefyc/xhgui-branch.git $ cd xhgui-branch $ php install.php

修改 xhgui-branch 配置文件

<?php return array(      ...     'extension' => 'tideways_xhprof',      ...     'save.handler' => 'mongodb',     'db.host' => 'mongodb://127.0.0.1:27017',     'db.db' => 'xhprof',      ... );

启动 mongodb 并设置 xhgui 索引,命令如下:

$ 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 } )

xhgui 本地虚拟主机配置参考

server {     listen       80;     server_name  xhgui.test;     root         /Users/yaozm/Documents/wwwroot/xhgui-branch/webroot;      # access_log  /usr/local/var/log/nginx/access.log;     error_log  /usr/local/var/log/nginx/error.log;      location / {         try_files $uri $uri/ /index.php?$query_string;         index  index.php index.html index.htm;     } }

针对要分析的站点进行设置,直接在要分析站点的 nginx 配置中增加以下项,然后使配置生效就可以了。

$ fastcgi_param PHP_VALUE "auto_prepend_file=/path/xhgui-branch/external/header.php";

参考配置

server {     listen       80;     server_name  laravel.test;     root         /Users/yaozm/Documents/wwwroot/laravel/public;      # access_log  /usr/local/var/log/nginx/access.log;     error_log  /usr/local/var/log/nginx/error.log;      location / {         try_files $uri $uri/ /index.php?$query_string;         index  index.php index.html index.htm;     }      # 添加 PHP_VALUE,告诉 PHP 程序在执行前要调用的服务     fastcgi_param PHP_VALUE "auto_prepend_file=/path/wwwroot/xhgui-branch/external/header.php"; }

或者也可以在修改 PHP 配置文件,告诉 PHP 程序在执行前要调用的服务

; Automatically add files before PHP document. ; http://php.net/auto-prepend-file auto_prepend_file = "/path/wwwroot/xhgui-branch/external/header.php"

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

以上就是Tideways、xhprof 和 xhgui 打造 PHP 非侵入式监控平台的详细内容,更多请关注jquery中文网其它相关文章!

  • 本文原创发布jQuery中文网,转载请注明出处,感谢您的尊重!
  • 您可能感兴趣的文章:
    Tideways、xhprof 和 xhgui 打造 PHP 非侵入式监控平台
    PHP性能分析平台搭建
    tideways toolkit对php代码进行性能分析
    PHP版本升级后代码无法使用
    Linux管理日志系统详解
    php检测是否安装应用
    php 性能分析工具 xhprof
    php入门教程(索引)
    memcached常用配置参数总结
    使用xhprof在开发环境中测试php性能

    [关闭]