效能分析前我們需要先明確目標,有的放矢.明確了目標後,進一步的分析工作就有了上下文,不至於跑偏.
一般來說,效能分析的目標是改進使用者最終體驗和降低執行成本.
有了目標,最好能將其進行量化:這種量化能夠表明是否已經達到優化的目標,還可以定義離目標的差距有多遠.
可測量的指標:
終端使用者眼中的效能,是端到端的"遲延".這個過程可能由許多元件構成,我們需要細化分析每個元件的開銷.由於同時對多個元件跟蹤
會帶來顯著的效能損失.因此在實踐中,通常用小而專的工具來研究特定元件的時間開銷和延遲.
需要觀測軟體和硬體資源是如何使用的,從中定位可優化的部分,目標是降低公司在雲和資料中心方面的開支.
bpf效能分析工具,不只用於分析特定型別的問題.還可以考慮如何使用它們改進監控、非回歸測試,以及其它效能分析活動.
效能分析活動
bpf效能分析工具
1.原型軟體或硬體的效能特徵分析
測量不同業務負載下的延遲直方圖
2.在開發階段、整合階段之前的效能分析
解決效能瓶頸點,尋找一般的效能改進點
3.針對軟體的某個版本,在發布前/後進行的非回歸測試
從多個不同**記錄**的使用和延遲資料,支援快速定位回歸測試問題.
4.基準測試,為軟體發布的市場宣傳工作提供資料支撐
解決效能瓶頸點,尋找一般的效能改進點
5.在目標環境下進行的概念驗證測試
生成延遲分布直方圖,確保效能滿足請求的服務等級(sla)
6.監控生產環境中執行的軟體
編寫可以7*24小時執行的工具 ,提供新的、之前屬於盲區的效能指標
7.故障排查時的效能分析
使用現成的工具或根據需要建立自定義的觀測點來解決特定的效能問題
識別出哪個效能問題才是最主要的.
指導從**開始,中間步驟有哪些和到**結束.
業務負載畫像的目的是理解實際執行的業務負載.
推薦步驟:
從乙個指標開始,然後將這個指標拆分成多個組成部分,再將最大的元件進一步拆分為更小的元件,不斷重複這個過程直到定位出
乙個或多個根因.
推薦步驟:
針對資源的使用情況進行分析.針對每乙個資源,分別去檢查:
列出一系列工具和指標,用於對照執行和檢查.
BPF技術學習分享
bpf is a highly flexible and efficientvirtual machine like constructin thelinux kernelallowing toexecute bytecodeat varioushook pointsin a safe manner...
MySql學習之效能分析Explain使用
1 mysql query optimizer 查詢優化器 mysql中有專門負責優化select語句的優化器模組,主要功能 通過計算分析系統中收集到的統計資訊,為客戶端請求的query提供他認為最優的執行計畫 他認為最優的資料檢索方式,但是不見得是dba認為是最優的,這部分最消耗時間 當客戶端向m...
xhprof效能分析學習
全新開發的一套產品,待c傳輸結束,s開始處理,發現c端結果展示很慢,為此想分析下時間消耗的地方,c端暫未打點,從s開始分析。純粹是time和error log 顯示date,xhprof的輕量級性質和匯聚功能,使得它非常適合用於收集 生產環境 的效能統計資料的統計。flat profile 提供函式...