當(dāng)前位置: 博客首頁(yè) >> PHP >> 閱讀正文

使用xdebug+webgrind分析php性能

作者: 鄭曉 分類: PHP 發(fā)布于: 2017-12-29 19:07 瀏覽:5,800 評(píng)論(2)


xdebug是php的一個(gè)調(diào)試工具擴(kuò)展,webgrind是一個(gè)通過(guò)web可視化方式來(lái)查看xdebug日志的工具,兩個(gè)加起來(lái),對(duì)于查找PHP整個(gè)系統(tǒng)中的性能瓶頸非常有用。
安裝xdebug:https://xdebug.org/download.php 根據(jù)自己php版本選擇和下載對(duì)應(yīng)的xdebug


# wget http://xdebug.org/files/xdebug-2.4.1.tgz
# tar zxf xdebug-2.4.1.tgz
# cd xdebug-2.4.1

開(kāi)始編譯xdebug.so文件,注意自己phpize和php-config的位置,可使用whereis查找

# /data/php/bin/phpize
# ./configure --with-php-config=/data/php/bin/php-config
# make && make install

編譯安裝后.so文件在當(dāng)前目錄中的modules目錄中,可以放這也可以移走。

配置php.ini

zend_extension="/data/php/lib/php/extensions/xxxxxxx/xdebug.so"
[xdebug]
xdebug.profiler_append=0
xdebug.profiler_output_name="cachegrind.out.%R%u"
xdebug.profiler_enable=On
xdebug.profiler_output_dir="/data/xdebug/"
xdebug.profiler_enable_trigger=On

注意xdebug的so需要使用zend_extension引入,后面寫絕對(duì)路徑
其它配置信息自行查詢
重啟php-fpm

# kill -INT `cat /data/php/run/php-fpm.pid`
# /data/php/sbin/php-fpm

訪問(wèn)phpinfo() 看看是否加載成功

下載webgrind,Github:https://github.com/jokkedk/webgrind

瀏覽器中直接訪問(wèn)webgrind即可,webgrind自動(dòng)遍歷xdebug所配置的日志目錄,可顯示每一步的調(diào)試耗時(shí)、耗時(shí)占比,也可以直接查看調(diào)用所在的代碼位置,服務(wù)器安裝了dot的話( sudo apt-get install graphviz ),也可以點(diǎn)擊“show call graph”按鈕以svg圖像方式查看整個(gè)調(diào)用樹(shù),對(duì)于要查找系統(tǒng)哪個(gè)位置執(zhí)行慢的問(wèn)題非常給力。

? ? ? ?

本文采用知識(shí)共享署名-非商業(yè)性使用 3.0 中國(guó)大陸許可協(xié)議進(jìn)行許可,轉(zhuǎn)載時(shí)請(qǐng)注明出處及相應(yīng)鏈接。

本文永久鏈接: http://m.yjfs.org.cn/xdebug-webgrind.html

使用xdebug+webgrind分析php性能:目前有2 條留言

用戶評(píng)論頭像 123發(fā)表于 2018年01月05日 12:10[回復(fù)]

不錯(cuò)

console.log(222);

用戶評(píng)論頭像 123發(fā)表于 2018年01月05日 12:05[回復(fù)]

666

發(fā)表評(píng)論

change vcode