Chromium Chronicle #20:基準測試測試工具

第 20 集:John Chen 提供者為華盛頓州貝勒韋 (2021 年 4 月)
先前集數

速度是 Chrome 四大核心原則之一新增基準測試可讓您輕鬆避免效能迴歸,並隨時間改善效能。良好的基準測試具有快速的疊代週期,能比 UMA 更早發現效能迴歸,非常適合評估新功能的效能。

在研究室中會定期執行基準測試。發現迴歸時,bisect 會自動找出問題 CL,並將錯誤指派給 CL 擁有者。

Chrome 基準測試會將網頁互動的順序 (稱為「故事」) 和效能評估結合在一起。類似的情況會按基準組合分組。新的基準通常可以包含在其中一個現有工具中:

  • 系統安全狀況
  • 載入中
  • 記憶體容量
  • 轉譯
  • 功率
  • 新創公司
  • V8 執行階段
  • 媒體
  • WebRTC
  • 新聞中心
  • 閃爍 Perf

遙測架構會重播錄製的故事,以模擬使用者與 Chrome 的互動,同時收集記錄 Chrome 活動的追蹤記錄。故事結束後,架構會執行各種效能指標來分析追蹤記錄並計算效能結果。

您可以在其中一個現有工具內的現有指標新增故事,以涵蓋 Chrome 中大部分新的效能測試案例。您也可以收集其他追蹤記錄,並將更多指標新增至現有的基準測試,或將其他標記傳送至瀏覽器。

針對無法入鏡的一次性案例,使用 Blink Perf。在 Blink Perf 中,您可以評估一次性頁面的追蹤事件。

盡量簡化基準測試,並僅包含完成情境所需的最少互動組合。如果測試案例很複雜,可能無法自動進行或不穩定。

將測試限制為涵蓋重要用途的最小值。基準化基礎架構維護費用高昂。如需支援的硬體清單,請參閱 Chrome 速度裝置

評估成效的方法有很多種,遙測基準可透過外部程序控制 Chrome,但這不一定能提供所需的控管層級。您可以用 gtest 為基礎的基準測試程式碼,讓測試程式碼與 Chrome 程式碼共用相同的程序。您也可以考慮採用其他效能工具,例如使用 UMA 測量使用者裝置效能,而非在研究室中。

想進一步瞭解 Chrome 基準化功能嗎?請與 telemetry@chromium.org 聯絡。

其他資源

  • 進一步瞭解如何開始編寫新的基準
  • 需要更多協助判斷用途適用範圍的方式嗎?在編寫測試之前先與我們聯絡。