国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

簡杰的php編程分享-1.3 xdebug性能分析

Michael_Lin / 2447人閱讀

摘要:生成性能分析文件,再通過分析軟件進行查看性能結(jié)果。性能分析工具詳解我們通過打開性能分析文件打頭的文件。可以很好的區(qū)分性能分析文件。

介紹

在上兩期中我已經(jīng)對 xdebug 最核心的操作已經(jīng)進行了講解。相信你可以擺脫寫 var_dump($data);die; 的編寫和完成調(diào)試后的清除了。這一期我們來學(xué)習(xí)xdebug的第二個特色-性能分析。這一個功能,在實操中用的不是很多。

使用場景:

高并發(fā)項目的核心功能優(yōu)化。通過查看運行一個方法經(jīng)過的依賴耗時情況,進行代碼優(yōu)化。

環(huán)境說明

windows

vagrant+vbox+centos7+nginx+php

phpstorm

學(xué)前準(zhǔn)備

xdebug + phpstorm 調(diào)試環(huán)境已經(jīng)可以正常運行

學(xué)習(xí)點

明白 xdebug 性能分析需要做那些配置

知道怎么去看性能報告

xdebug 配置

xdebug 是通過訪問指定方法。生成性能分析文件,再通過分析軟件進行查看性能結(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 分析性能文件

比較建議一個方法訪問完后,生成分析文件,馬上進行性能分析,分析完后再清除文件。為了數(shù)據(jù)準(zhǔn)確性,我們還需要進行多次對比。找性能參數(shù)的平均值來提高準(zhǔn)確性。

我們得知道那個依賴方法耗時最久,是什么原因。有沒有優(yōu)化的可能。

phpstorm xdebug 性能分析工具詳解

我們通過 tool -> Analyze Xdebug profiler Snapshot 打開性能分析文件 cachegrind.out. 打頭的文件。就會進入以下界面

1、了解各個選項的意思

Refresh - 刷新

Execution statistics - 執(zhí)行統(tǒng)計數(shù)據(jù)

Call Trees - 哪個函數(shù)調(diào)用哪個函數(shù)

Callable - 已執(zhí)行的文件

Own Time - 函數(shù)執(zhí)行自己的代碼所花費的時間(不包括對其他函數(shù)的調(diào)用)

Calls - 調(diào)用次數(shù)

Callees - 調(diào)用哪些函數(shù)

Callers - 從函數(shù)被調(diào)用的地方

time 前的數(shù)字代表的是什么意思

time 列里有 數(shù)字和百分比。分別代表 執(zhí)行時間和執(zhí)行占用總時間百分比

單位是 server 旁邊的 time 那里進行設(shè)置.默認(rèn)是 ms

callees 里的方法大部分都會出來一個折疊的圖標(biāo),有什么用

這個可以讓我們查看他的上一步執(zhí)行了以什么操作。這個可以方便我們在了解調(diào)用到這個函數(shù)的過程。

2、找到我們關(guān)心的數(shù)據(jù)

那些地方占用的執(zhí)行時間最多,為什么

我們可以在 Execution statistics 標(biāo)簽里對 own time 進行排序取執(zhí)行占用最多的內(nèi)容。里面會包含文件和函數(shù)以及方法。如果我們設(shè)置了 server 關(guān)聯(lián)當(dāng)前的項目,統(tǒng)計里的方法是可以進行跳轉(zhuǎn)到項目的實際代碼里。

我們通過 Callees 標(biāo)簽查看函數(shù)里那些方法調(diào)用耗時最多

那些方法調(diào)用最多次,在那些地方調(diào)用的比較多

Execution statistics 標(biāo)簽里對 calls 進行排序取執(zhí)行次數(shù)最多的函數(shù)或方法。

可通過下面的 Callers 查看那些地方對他進行了調(diào)用

系列文章

xdebug的安裝配置

xdebug的實際運用

xdebug性能分析 [本篇]

FQA

為什么要設(shè)置 xdebug.profiler_output_name 默認(rèn)的不就可以了嗎?

如果你的項目不是多入口的類型,你保存的到一個文件就會出現(xiàn)性能分析文件不精確的情況。而我在上文中用的是 $_SERVER["REQUEST_URI"] 作為文件后綴。可以很好的區(qū)分性能分析文件。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/30884.html

相關(guān)文章

  • 杰的php編程分享-1.1 xdebug的安裝配置

    摘要:當(dāng)我在官網(wǎng)看到了遠程調(diào)試原理圖時,我才知道應(yīng)該怎么配置。配置的參數(shù)也少了很多,也不需要在里對一個個請求地址進行配置。其他可以配置可以共用。但是如果你使用的是本地的那他就會出現(xiàn)端口被占用的情況。 介紹 我之前配置直接按網(wǎng)上的文章進行配置總是配置不成功,里面很多東西不了解。當(dāng)我在 xdebug 官網(wǎng)看到了 xdebug 遠程調(diào)試原理圖時,我才知道應(yīng)該怎么配置 xdebug。配置的參數(shù)也少了...

    import. 評論0 收藏0
  • 杰的php編程分享-1.2 xdebug的實際運用

    摘要:單擊此按鈕可暫停程序執(zhí)行。單擊此按鈕,通過標(biāo)準(zhǔn)關(guān)閉腳本從外部終止當(dāng)前進程。實際上,插入符號處的當(dāng)前行有一個臨時斷點集,一旦程序執(zhí)行暫停,就會刪除它。心中始終十分抗拒,導(dǎo)致功能變更延期。 介紹 在 上一期 中我們已經(jīng)把 xdebug 和 phpstorm 的關(guān)聯(lián)配置設(shè)置好了,接下來我將會深入的介紹 debug 的運用。分為3點內(nèi)容 快速找到錯誤的原因 輔助讀懂比效復(fù)雜的代碼 代碼重構(gòu) ...

    ls0609 評論0 收藏0
  • PHP小知識點

    摘要:那些瑣碎的知識點作者記錄的的很奇特很難記的知識點。易錯知識點整理注意和的區(qū)別中和都是輸出的作用,但是兩者之間還是有細(xì)微的差別。今天手頭不忙,總結(jié)一下,分享過程中掌握的知識點。 深入理解 PHP 之:Nginx 與 FPM 的工作機制 這篇文章從 Nginx 與 FPM 的工作機制出發(fā),探討配置背后的原理,讓我們真正理解 Nginx 與 PHP 是如何協(xié)同工作的。 PHP 那些瑣碎的知識...

    hover_lew 評論0 收藏0
  • PHPUnit 加速技巧分享

    摘要:接下來我們將會介紹一些可以快速實現(xiàn)的小技巧,讓你的代碼測試變得更快。該示例測試套件有意地模擬更廣泛的測試集合,并突出改進的可行性。真實情況下,效率的提升可能有所差異。我認(rèn)為相比通過提升一點速度帶來的好處,保持生產(chǎn)環(huán)境一致更重要。 showImg(https://segmentfault.com/img/remote/1460000017962057?w=1440&h=736); 具備高...

    weizx 評論0 收藏0
  • UCloud怪獸主機再升級 新快杰3+1讓超強算力即刻可得

    摘要:快杰云主機發(fā)布款全新機型在去年大會上,云主機團隊推出了萬網(wǎng)絡(luò)性能萬存儲性能的快杰云主機。但同時價格則與上一代快杰持平,升頻不加價。其中在的跑分中,快杰與上代快杰相比算力提升。除了上述三款性能主機外,上還發(fā)布了采用處理器的快杰型預(yù)覽版。10月23日以構(gòu)建·創(chuàng)見|為主題的UCloud用戶大會暨Think in Cloud 2020(以下簡稱TIC)在上海召開。在本次大會上,UCloud推出了歷經(jīng)...

    Tecode 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<