[英]Finding a bottleneck when loading a webpage?
更新1:
在服務器上執行strace后,我發現mmap的進程占用了90%的處理時間。 我發現其中的一頁需要花費一分鍾的時間來加載。
所以我找到了這個鏈接: PHP腳本一直在執行mmap / munmap
它可能顯示了相同的問題。 但是,我不明白正確禁用php錯誤處理程序意味着什么。
原始問題:
加載服務器正在服務的特定網頁時,如何檢查Web服務器上的瓶頸?
由於某些原因,我網站上的幾個頁面變得非常慢,我不確定這種情況正在何處發生。
Chrome開發工具的屏幕截圖:
點擊這里放大 :
因此,基本上,我需要找出使此部分花很長時間加載的內容? 客戶端網絡工具似乎無法將其分解?
Xdebug:分析PHP腳本 -注意KCacheGrind工具,或者,可以使用高級PHP調試器 apd_set_pprof_trace()函數和pprofp處理生成的數據文件。
Derick Rethans(Xdebug的作者)今天發表了一篇不錯的文章,名為PHP在做什么?
它涵蓋了您已經完成的strace,還向您展示了如何使用自定義.gdbinit
獲取導致問題的實際php函數名稱。
當然,您必須使用gdb從命令行運行腳本,因此我希望您的問題可以通過這種方式重現。
mmap
用於創建文件的內存映射視圖。
如果確實是導致錯誤的錯誤處理程序,我猜您的腳本正在生成許多錯誤(您正在嘗試記錄),可能是循環中未定義索引的通知或其他內容。
檢查日志文件(是否記錄了所有內容?),如果未記錄任何內容,請檢查日志文件的權限,還請再次檢查錯誤報告級別設置為什么。
var_dump(ini_get('error_reporting') & E_NOTICE);
-如果您要報告通知,則為非零值。
error_reporting(E_ALL & ~E_NOTICE);
-關閉報告通知。
使用Fiddler或YSlow Firefox插件等應用程序將有助於識別網站中加載緩慢的元素。 這應該使任何問題顯而易見。
https://addons.mozilla.org/zh-CN/firefox/addon/yslow/
希望這可以幫助
Chrome的Page Speed也可以選擇:
https://developers.google.com/speed/docs/insights/using_chrome
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.