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

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

内容导读

收集整理的这篇技术教程文章主要介绍了Tideways、xhprof和xhgui打造PHP非侵入式监控平台,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2473字,纯文字阅读大概需要4分钟

内容图文

环境准备

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

  • 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 配置文件

<?phpreturn 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.com/auto-prepend-fileauto_prepend_file = "/path/wwwroot/xhgui-branch/external/header.php"

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

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

内容总结

以上是为您收集整理的Tideways、xhprof和xhgui打造PHP非侵入式监控平台全部内容,希望文章能够帮你解决Tideways、xhprof和xhgui打造PHP非侵入式监控平台所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com