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

資訊專欄INFORMATION COLUMN

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

Michael_Lin / 2428人閱讀

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

介紹

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

使用場景:

高并發項目的核心功能優化。通過查看運行一個方法經過的依賴耗時情況,進行代碼優化。

環境說明

windows

vagrant+vbox+centos7+nginx+php

phpstorm

學前準備

xdebug + phpstorm 調試環境已經可以正常運行

學習點

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

知道怎么去看性能報告

xdebug 配置

xdebug 是通過訪問指定方法。生成性能分析文件,再通過分析軟件進行查看性能結果。

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 分析性能文件

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

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

phpstorm xdebug 性能分析工具詳解

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

1、了解各個選項的意思

Refresh - 刷新

Execution statistics - 執行統計數據

Call Trees - 哪個函數調用哪個函數

Callable - 已執行的文件

Own Time - 函數執行自己的代碼所花費的時間(不包括對其他函數的調用)

Calls - 調用次數

Callees - 調用哪些函數

Callers - 從函數被調用的地方

time 前的數字代表的是什么意思

time 列里有 數字和百分比。分別代表 執行時間和執行占用總時間百分比

單位是 server 旁邊的 time 那里進行設置.默認是 ms

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

這個可以讓我們查看他的上一步執行了以什么操作。這個可以方便我們在了解調用到這個函數的過程。

2、找到我們關心的數據

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

我們可以在 Execution statistics 標簽里對 own time 進行排序取執行占用最多的內容。里面會包含文件和函數以及方法。如果我們設置了 server 關聯當前的項目,統計里的方法是可以進行跳轉到項目的實際代碼里。

我們通過 Callees 標簽查看函數里那些方法調用耗時最多

那些方法調用最多次,在那些地方調用的比較多

Execution statistics 標簽里對 calls 進行排序取執行次數最多的函數或方法。

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

系列文章

xdebug的安裝配置

xdebug的實際運用

xdebug性能分析 [本篇]

FQA

為什么要設置 xdebug.profiler_output_name 默認的不就可以了嗎?

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30884.html

相關文章

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

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

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

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

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

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

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

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

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

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

    Tecode 評論0 收藏0

發表評論

0條評論

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