PHP+xdebug分析代碼性能瓶頸的案例-創(chuàng)新互聯(lián)

小編給大家分享一下PHP + xdebug分析代碼性能瓶頸的案例,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),10年企業(yè)及個(gè)人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都上1000家客戶提供網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站開(kāi)發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營(yíng)銷型網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),同時(shí)也為不同行業(yè)的客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選創(chuàng)新互聯(lián)。

PHP + xdebug 分析代碼性能瓶頸

通常啟用了xdebug插件,性能測(cè)試輸出文件會(huì)伴隨生成,通常是以cachegrind.out.xxxx 文件存在。

該文件可以通過(guò)第三方工具來(lái)進(jìn)行代碼性能分析。

但如果本地有多個(gè)項(xiàng)目/網(wǎng)站,所有的profile 都輸出到一個(gè)文件中了,這樣并不方便后面進(jìn)行性能分析。

自定義profile 文件名稱

可以通過(guò)配置xdebug.profiler_output_name 參數(shù)來(lái)設(shè)置輸出文件名稱,部分參數(shù)如下:

符號(hào)含義配置樣例樣例文件名
%c當(dāng)前工作目錄的crc32校驗(yàn)值cachegrind.out.%ccachegrind.out.1258863198
%p當(dāng)前服務(wù)器進(jìn)程的pidcachegrind.out.%pcachegrind.out.9685
%r隨機(jī)數(shù)cachegrind.out.%rcachegrind.out.072db0
%s腳本文件名(注)cachegrind.out.%scachegrind.out._home_httpd_html_test_xdebug_test_php
%tUnix時(shí)間戳(秒)cachegrind.out.%tcachegrind.out.1179434742
%uUnix時(shí)間戳(微秒)cachegrind.out.%ucachegrind.out.1179434749_642382
%H$_SERVER['HTTP_HOST']cachegrind.out.%Hcachegrind.out.localhost
%R$_SERVER['REQUEST_URI']cachegrind.out.%Rcachegrind.out._test_xdebug_test_php_var=1_var2
%Ssession_id (來(lái)自$_COOKIE 如果設(shè)置了的話)cachegrind.out.%Scachegrind.out.c70c1ec2375af58f74b390bbdd2a679d
%%%字符cachegrind.out.%%cachegrind.out.%%

編輯php.ini 配置文件:

xdebug.profiler_output_name = cachegrind.out.%H

然后重啟 php server。

在Mac 下,profile 文件存放于/var/tmp/目錄中。

性能分析

在Mac 下,有MacCallGrind 和 qcachegrind 可以使用,不過(guò)前者是收費(fèi),直接通過(guò)Apple Store下載,后者是免費(fèi)。需要手動(dòng)安裝。

安裝graphviz,用來(lái)Call Graph功能:

$ brew install graphviz

安裝 qcachegrind:

$ brew install qcachegrind

安裝完成之后,就可以打開(kāi)qcachegrind 應(yīng)用了,圖形界面如下:

PHP + xdebug分析代碼性能瓶頸的案例

其他

不過(guò)需要注意,開(kāi)啟了profile文件輸出之后,如果本地項(xiàng)目多的話,很容易占用磁盤大面積空間,下圖是我半年左右沒(méi)有清理的狀態(tài):

PHP + xdebug分析代碼性能瓶頸的案例PHP + xdebug分析代碼性能瓶頸的案例

可以使用命令進(jìn)行清理:

$ sudo rm -fr /private/var/tmp/cachegrind.out.*

看完了這篇文章,相信你對(duì)“PHP + xdebug分析代碼性能瓶頸的案例”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站標(biāo)題:PHP+xdebug分析代碼性能瓶頸的案例-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://muchs.cn/article28/dpogcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站設(shè)計(jì)公司企業(yè)網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)