摘要:簡(jiǎn)介基于,以圖形化方式顯示結(jié)果。為啥不在里面配置而是因?yàn)槲疫@是本地調(diào)試,重在分析某一個(gè)接口,而不是觀測(cè)線上的正式環(huán)境。還有這個(gè)原因備注重啟視個(gè)人重啟方式而定,我的重啟方式是這樣的參考
簡(jiǎn)介
xhgui基于xhprof,以圖形化方式顯示結(jié)果。簡(jiǎn)單點(diǎn)就是更加直觀。
采用tideways + xhgui組合的原因是我的PHP版本是7,而xhprof不支持,(雖然我安裝了一個(gè)支持php7的xhprof,但是沒有數(shù)據(jù),猜測(cè)和xhgui不兼容。)
我的PHP版本是PHP7:
MongoDB的版本是V3.6.2:
安裝步驟1.安裝mongodb(mac下面安裝mongodb,這個(gè)自己google或者baidu吧)
brew install mongodb
2.安裝php的mongodb的擴(kuò)展
brew install php70-mongo
查看是否安裝成功(記得重啟php-fpm)
3.安裝php的tideways擴(kuò)展
brew install php70-tideways cd /usr/local/etc/php/7.0/conf.d vim ext-tideways_xhprof.ini
添加內(nèi)容(這個(gè)就是編譯成功之后的路徑)
[tideways_xhprof] extension="/usr/local/Cellar/php70/7.0.14_7/lib/php/extensions/no-debug-non-zts-20151012/tideways_xhprof.so" ;不需要自動(dòng)加載,在程序中控制就行 tideways.auto_prepend_library=0 ;頻率設(shè)置為100,在程序調(diào)用時(shí)能改 tideways.sample_rate=100
查看是否安裝成功(記得重啟php-fpm)
4.安裝 xhgui
cd /Users/birjemin/Developer/Php git clone https://github.com/laynefyc/xhgui-branch.git // 我這里把xhgui-branch目錄重命名為xhprof_gui cd xhprof_gui/extension php install.php
配置xhgui(extension, profiler.enable, db.host, db.db參數(shù))
cd /Users/birjemin/Developer/Php/xhprof_gui/config cp config.default.php config.php vim config.php
恭喜安裝成功!
使用步驟1.mongodb需要新建相應(yīng)的db(上面的第四點(diǎn)confi.php里面的配置)
新建索引優(yōu)化查詢
$ 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 } )
2.在監(jiān)聽的網(wǎng)站nginx配置加上
fastcgi_param TIDEWAYS_SAMPLERATE "25";
3.可以在需要監(jiān)聽的接口中代碼片段前面引入header.php
include "/Users/birjemin/Developer/Php/xhprof_gui/external/header.php";
4.將克隆的xprof_gui配置虛擬主機(jī),這個(gè)和你的項(xiàng)目一樣的,就把xprof也當(dāng)做一個(gè)項(xiàng)目,配置成瀏覽器可訪問。比如我的配置:
host: 127.0.0.1 local.xhprof_gui.com
nginx server conf
server { listen 80; server_name local.xhprof-gui.com; # 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; } }
5.重啟nginx,瀏覽器訪問local.xhprof-gui.com看看能不能訪問(沒有目錄??你是不是瀏覽器無(wú)法訪問目錄??權(quán)限沒開。。自己配置一下)
6.在postman或者瀏覽器訪問接口,轉(zhuǎn)啊轉(zhuǎn),好了之后就可以去
http://local.xhprof-gui.com/查看了。(圖我就不截了。。)
1.安裝完了,跑起來數(shù)據(jù)為空
我猜測(cè)我安裝的xhprof雖然支持PHP7,但是和xhgui不兼容,把config.php里面的 extension 參數(shù)改成 tideways_xhprof 而不是 xhprof
2.mongoDb報(bào)錯(cuò)
這是一個(gè)bug(issue),請(qǐng)按照這個(gè)方法修改相應(yīng)文件。
3.為啥不在nginx里面配置
fastcgi_param PHP_VALUE "auto_prepend_file=/Users/birjemin/Developer/Php/xhprof_gui/external/header.php";
而是
include "/Users/birjemin/Developer/Php/xhprof_gui/external/header.php";
因?yàn)槲疫@是本地調(diào)試,重在分析某一個(gè)接口,而不是觀測(cè)線上的正式環(huán)境。還有這個(gè)原因issues
備注重啟php-fpm(視個(gè)人重啟方式而定,我的重啟方式是這樣的)
cd /usr/local/etc/php/7.0/ sudo killall php-fpm sudo /usr/local/Cellar/php70/7.0.14_7/sbin/php-fpm -D參考
https://github.com/laynefyc/xhgui-branch/issues/10
https://segmentfault.com/a/1190000007580819
http://blog.it2048.cn/article_tideways-xhgui.html
https://github.com/laynefyc/xhgui-branch/issues/13
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28278.html
摘要:性能被動(dòng)分析工具之加的安裝實(shí)踐前言最近一直想做個(gè)接口性能分析,但是手打?qū)嵲谀馨讶私o累死。怎么辦呢想到之前有寫過一篇我所知道的相關(guān)調(diào)優(yōu)匯總,里面有一個(gè)的調(diào)優(yōu)方式。但是使用它酷炫的需要付費(fèi),擴(kuò)展則不需要。 PHP性能被動(dòng)分析工具之xhgui加tideways的安裝實(shí)踐 By:0x584A Date:2016-11-23 17:55:42 前言 最近一直想做個(gè)接口性能分析,但是手打log實(shí)在...
摘要:參考配置添加,告訴程序在執(zhí)行前要調(diào)用的服務(wù)或者也可以在修改配置文件,告訴程序在執(zhí)行前要調(diào)用的服務(wù)參考鏈接 showImg(https://segmentfault.com/img/bVbt7t1?w=2880&h=2608); 推薦閱讀 Tideways、xhprof 和 xhgui 打造 PHP 非侵入式監(jiān)控平臺(tái) 超全的設(shè)計(jì)模式簡(jiǎn)介(45種) design-patterns-for...
摘要:參考配置添加,告訴程序在執(zhí)行前要調(diào)用的服務(wù)或者也可以在修改配置文件,告訴程序在執(zhí)行前要調(diào)用的服務(wù)參考鏈接 showImg(https://segmentfault.com/img/bVbt7t1?w=2880&h=2608); 推薦閱讀 Tideways、xhprof 和 xhgui 打造 PHP 非侵入式監(jiān)控平臺(tái) 超全的設(shè)計(jì)模式簡(jiǎn)介(45種) design-patterns-for...
摘要:上一篇文章里,我們介紹了如何基于擴(kuò)展來分析性能,并記錄到日志里,最后使用擴(kuò)展自帶的在里展示出來。本次測(cè)試中,實(shí)際使用了擴(kuò)展切換為擴(kuò)展后里看不到數(shù)據(jù),原因未知。雖然來自但已經(jīng)很久不更新,官方源已經(jīng)顯示此包已廢棄,不再維護(hù)。 上一篇文章里,我們介紹了如何基于xhprof擴(kuò)展來分析PHP性能,并記錄到日志里,最后使用xhprof擴(kuò)展自帶的UI在web里展示出來。本篇文章將講述2個(gè)知識(shí)點(diǎn): ...
摘要:的一鍵安裝開發(fā)環(huán)境非侵入式監(jiān)控平臺(tái)優(yōu)化系統(tǒng)性能定位的神器之前在用做本地開發(fā)環(huán)境,因?yàn)闆]有這些對(duì)程序性能追蹤及分析的工具,所以索性基于的編排了一套自己使用。 DNMP PLUS dnmp = Docker + Nginx + MySQL + PHP + Redis + MongDB plus = xhgui + xhprof + tideways dnmp-plus = PHPer 的一...
閱讀 3307·2021-09-30 09:47
閱讀 2329·2021-09-10 10:51
閱讀 1936·2021-09-08 09:36
閱讀 2954·2019-08-30 12:56
閱讀 3067·2019-08-30 11:16
閱讀 2652·2019-08-29 16:40
閱讀 3020·2019-08-29 15:25
閱讀 1663·2019-08-29 11:02