摘要:生成性能分析文件,再通過(guò)分析軟件進(jìn)行查看性能結(jié)果。性能分析工具詳解我們通過(guò)打開(kāi)性能分析文件打頭的文件??梢院芎玫膮^(qū)分性能分析文件。
介紹
在上兩期中我已經(jīng)對(duì) xdebug 最核心的操作已經(jīng)進(jìn)行了講解。相信你可以擺脫寫 var_dump($data);die; 的編寫和完成調(diào)試后的清除了。這一期我們來(lái)學(xué)習(xí)xdebug的第二個(gè)特色-性能分析。這一個(gè)功能,在實(shí)操中用的不是很多。
使用場(chǎng)景:
高并發(fā)項(xiàng)目的核心功能優(yōu)化。通過(guò)查看運(yùn)行一個(gè)方法經(jīng)過(guò)的依賴耗時(shí)情況,進(jìn)行代碼優(yōu)化。
環(huán)境說(shuō)明windows
vagrant+vbox+centos7+nginx+php
phpstorm
學(xué)前準(zhǔn)備xdebug + phpstorm 調(diào)試環(huán)境已經(jīng)可以正常運(yùn)行
學(xué)習(xí)點(diǎn)明白 xdebug 性能分析需要做那些配置
知道怎么去看性能報(bào)告
xdebug 配置xdebug 是通過(guò)訪問(wèn)指定方法。生成性能分析文件,再通過(guò)分析軟件進(jìn)行查看性能結(jié)果。
php.ini 添加配置
xdebug.profiler_enable=Off xdebug.profiler_enable_trigger=On xdebug.profiler_enable_trigger_value="create" xdebug.profiler_output_dir="/tmp/" xdebug.profiler_output_name="cachegrind.out.%R"phpstorm 分析性能文件
比較建議一個(gè)方法訪問(wèn)完后,生成分析文件,馬上進(jìn)行性能分析,分析完后再清除文件。為了數(shù)據(jù)準(zhǔn)確性,我們還需要進(jìn)行多次對(duì)比。找性能參數(shù)的平均值來(lái)提高準(zhǔn)確性。
我們得知道那個(gè)依賴方法耗時(shí)最久,是什么原因。有沒(méi)有優(yōu)化的可能。
phpstorm xdebug 性能分析工具詳解我們通過(guò) tool -> Analyze Xdebug profiler Snapshot 打開(kāi)性能分析文件 cachegrind.out. 打頭的文件。就會(huì)進(jìn)入以下界面
1、了解各個(gè)選項(xiàng)的意思
Refresh - 刷新
Execution statistics - 執(zhí)行統(tǒng)計(jì)數(shù)據(jù)
Call Trees - 哪個(gè)函數(shù)調(diào)用哪個(gè)函數(shù)
Callable - 已執(zhí)行的文件
Own Time - 函數(shù)執(zhí)行自己的代碼所花費(fèi)的時(shí)間(不包括對(duì)其他函數(shù)的調(diào)用)
Calls - 調(diào)用次數(shù)
Callees - 調(diào)用哪些函數(shù)
Callers - 從函數(shù)被調(diào)用的地方
time 前的數(shù)字代表的是什么意思
time 列里有 數(shù)字和百分比。分別代表 執(zhí)行時(shí)間和執(zhí)行占用總時(shí)間百分比
單位是 server 旁邊的 time 那里進(jìn)行設(shè)置.默認(rèn)是 ms
callees 里的方法大部分都會(huì)出來(lái)一個(gè)折疊的圖標(biāo),有什么用
這個(gè)可以讓我們查看他的上一步執(zhí)行了以什么操作。這個(gè)可以方便我們?cè)诹私庹{(diào)用到這個(gè)函數(shù)的過(guò)程。
2、找到我們關(guān)心的數(shù)據(jù)
那些地方占用的執(zhí)行時(shí)間最多,為什么
我們可以在 Execution statistics 標(biāo)簽里對(duì) own time 進(jìn)行排序取執(zhí)行占用最多的內(nèi)容。里面會(huì)包含文件和函數(shù)以及方法。如果我們?cè)O(shè)置了 server 關(guān)聯(lián)當(dāng)前的項(xiàng)目,統(tǒng)計(jì)里的方法是可以進(jìn)行跳轉(zhuǎn)到項(xiàng)目的實(shí)際代碼里。
我們通過(guò) Callees 標(biāo)簽查看函數(shù)里那些方法調(diào)用耗時(shí)最多
那些方法調(diào)用最多次,在那些地方調(diào)用的比較多
Execution statistics 標(biāo)簽里對(duì) calls 進(jìn)行排序取執(zhí)行次數(shù)最多的函數(shù)或方法。
可通過(guò)下面的 Callers 查看那些地方對(duì)他進(jìn)行了調(diào)用
系列文章xdebug的安裝配置
xdebug的實(shí)際運(yùn)用
xdebug性能分析 [本篇]
FQA為什么要設(shè)置 xdebug.profiler_output_name 默認(rèn)的不就可以了嗎?
如果你的項(xiàng)目不是多入口的類型,你保存的到一個(gè)文件就會(huì)出現(xiàn)性能分析文件不精確的情況。而我在上文中用的是 $_SERVER["REQUEST_URI"] 作為文件后綴。可以很好的區(qū)分性能分析文件。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30884.html
摘要:當(dāng)我在官網(wǎng)看到了遠(yuǎn)程調(diào)試原理圖時(shí),我才知道應(yīng)該怎么配置。配置的參數(shù)也少了很多,也不需要在里對(duì)一個(gè)個(gè)請(qǐng)求地址進(jìn)行配置。其他可以配置可以共用。但是如果你使用的是本地的那他就會(huì)出現(xiàn)端口被占用的情況。 介紹 我之前配置直接按網(wǎng)上的文章進(jìn)行配置總是配置不成功,里面很多東西不了解。當(dāng)我在 xdebug 官網(wǎng)看到了 xdebug 遠(yuǎn)程調(diào)試原理圖時(shí),我才知道應(yīng)該怎么配置 xdebug。配置的參數(shù)也少了...
摘要:?jiǎn)螕舸税粹o可暫停程序執(zhí)行。單擊此按鈕,通過(guò)標(biāo)準(zhǔn)關(guān)閉腳本從外部終止當(dāng)前進(jìn)程。實(shí)際上,插入符號(hào)處的當(dāng)前行有一個(gè)臨時(shí)斷點(diǎn)集,一旦程序執(zhí)行暫停,就會(huì)刪除它。心中始終十分抗拒,導(dǎo)致功能變更延期。 介紹 在 上一期 中我們已經(jīng)把 xdebug 和 phpstorm 的關(guān)聯(lián)配置設(shè)置好了,接下來(lái)我將會(huì)深入的介紹 debug 的運(yùn)用。分為3點(diǎn)內(nèi)容 快速找到錯(cuò)誤的原因 輔助讀懂比效復(fù)雜的代碼 代碼重構(gòu) ...
摘要:那些瑣碎的知識(shí)點(diǎn)作者記錄的的很奇特很難記的知識(shí)點(diǎn)。易錯(cuò)知識(shí)點(diǎn)整理注意和的區(qū)別中和都是輸出的作用,但是兩者之間還是有細(xì)微的差別。今天手頭不忙,總結(jié)一下,分享過(guò)程中掌握的知識(shí)點(diǎn)。 深入理解 PHP 之:Nginx 與 FPM 的工作機(jī)制 這篇文章從 Nginx 與 FPM 的工作機(jī)制出發(fā),探討配置背后的原理,讓我們真正理解 Nginx 與 PHP 是如何協(xié)同工作的。 PHP 那些瑣碎的知識(shí)...
摘要:接下來(lái)我們將會(huì)介紹一些可以快速實(shí)現(xiàn)的小技巧,讓你的代碼測(cè)試變得更快。該示例測(cè)試套件有意地模擬更廣泛的測(cè)試集合,并突出改進(jìn)的可行性。真實(shí)情況下,效率的提升可能有所差異。我認(rèn)為相比通過(guò)提升一點(diǎn)速度帶來(lái)的好處,保持生產(chǎn)環(huán)境一致更重要。 showImg(https://segmentfault.com/img/remote/1460000017962057?w=1440&h=736); 具備高...
摘要:快杰云主機(jī)發(fā)布款全新機(jī)型在去年大會(huì)上,云主機(jī)團(tuán)隊(duì)推出了萬(wàn)網(wǎng)絡(luò)性能萬(wàn)存儲(chǔ)性能的快杰云主機(jī)。但同時(shí)價(jià)格則與上一代快杰持平,升頻不加價(jià)。其中在的跑分中,快杰與上代快杰相比算力提升。除了上述三款性能主機(jī)外,上還發(fā)布了采用處理器的快杰型預(yù)覽版。10月23日以構(gòu)建·創(chuàng)見(jiàn)|為主題的UCloud用戶大會(huì)暨Think in Cloud 2020(以下簡(jiǎn)稱TIC)在上海召開(kāi)。在本次大會(huì)上,UCloud推出了歷經(jīng)...
閱讀 1211·2021-11-24 11:16
閱讀 3440·2021-11-15 11:38
閱讀 1952·2021-10-20 13:47
閱讀 559·2021-09-29 09:35
閱讀 2208·2021-09-22 15:17
閱讀 1028·2021-09-07 09:59
閱讀 3395·2019-08-30 13:21
閱讀 2919·2019-08-30 12:47