成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

簡(jiǎn)杰的php編程分享-1.3 xdebug性能分析

Michael_Lin / 2449人閱讀

摘要:生成性能分析文件,再通過(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

相關(guān)文章

  • 簡(jiǎn)杰的php編程分享-1.1 xdebug的安裝配置

    摘要:當(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ù)也少了...

    import. 評(píng)論0 收藏0
  • 簡(jiǎn)杰的php編程分享-1.2 xdebug的實(shí)際運(yùn)用

    摘要:?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) ...

    ls0609 評(píng)論0 收藏0
  • PHP小知識(shí)點(diǎn)

    摘要:那些瑣碎的知識(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í)...

    hover_lew 評(píng)論0 收藏0
  • PHPUnit 加速技巧分享

    摘要:接下來(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); 具備高...

    weizx 評(píng)論0 收藏0
  • UCloud怪獸主機(jī)再升級(jí) 新快杰3+1讓超強(qiáng)算力即刻可得

    摘要:快杰云主機(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)...

    Tecode 評(píng)論0 收藏0

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

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<