blackfire:在您的宅基地改進的應用程序中的精確定位和固定性能瓶頸
>
>鍵洞察:
在開始之前,讓我們定義Blackfire性能圖中使用的關鍵術語:
>
參考資料:
>不按下這些行,並用您的帳戶詳細信息替換佔位符值。 :一個案例研究 我們的初始應用程序按年齡按負載和分類所有畫廊。 要配置文件,打開主頁,單擊“黑火擴展”按鈕,然後選擇“配置文件!”。
初始配置文件結果:
>消耗了包含時間的100%(深色粉紅色部分),表明它是主要的瓶頸。 雖然其他方法可能顯示出更大的淺粉紅色條(包括時間),但這些方法代表其依賴功能的累積時間。 深色粉紅色部分代表需要立即註意的功能。 切換到RAM模式表明,Twig渲染消耗了RAM的大部分(約40MB)。鑑於大量數據呈現。 熱路徑(厚邊界)清楚地突出了瓶頸。 密集的節點(花費時間的節點)也可能表明問題,即使不是熱路徑的一部分。
(高RAM使用)是由在主頁上加載所有畫廊引起的。解決方案:實施分頁。
> 常數 修改畫廊獲取過程以使用分頁: >
>記憶使用率減少了十倍,並且加載幾乎是瞬時的。 新的瓶頸是開發環境的結果。切換到生產模式進一步提高了性能:
結論: 經常詢問問題(FAQ): 提供的FAQ部分在很大程度上保持不變,因為它提供了與PHP性能優化相關的有價值的信息。 它準確地涵蓋了監視工具,常見問題,優化技術,可伸縮性和最佳實踐等主題。
用黑火優化PDOExecute
>
>分析表明,
PDOExecute
實現分頁:unserialize
PER_PAGE
HomeController
# blackfire:
# - id: foo
# token: bar
# client-id: foo
# client-token: bar
性能比較:$galleries = $this->em->getRepository(Gallery::class)->findBy([], ['createdAt' => 'DESC'], self::PER_PAGE);
實施分頁後,
HomeController
{% block javascripts %}
{{ parent() }}
<🎜>
{% endblock %}
DebugClass
以上是php級級別的性能優化的詳細內容。更多資訊請關注PHP中文網其他相關文章!