監控

效能最佳化的第一步是找出主要指標,通常與延遲和吞吐量有關。新增監控功能來擷取及追蹤這些指標,會暴露應用程式的弱點。您可以運用指標進行最佳化,以改善成效指標。

此外,許多監控工具可讓您設定指標快訊,在達到特定門檻時通知您。舉例來說,您可以設定快訊,在失敗要求的百分比增加超過 x% 時通知您。監控工具可協助您找出正常效能,並找出延遲、錯誤數量和其他重要指標的異常尖峰。在業務關鍵時段,或在將新程式碼推送至實際環境後,監控這些指標的能力就顯得格外重要。

找出延遲指標

請務必盡可能讓 UI 保持回應速度,請注意,使用者對行動應用程式的期待值會更高。您也應評估及追蹤後端服務的延遲情形,尤其是在未加以控制的情況下,延遲可能會導致吞吐量問題。

建議追蹤的指標包括:

  • 要求持續時間
  • 以子系統精細度 (例如 API 呼叫) 要求持續時間
  • 工作時間長度

找出吞吐量指標

吞吐量是指在指定時間範圍內,服務的請求總數。總處理量可能會受到子系統延遲時間的影響,因此您可能需要針對延遲時間進行最佳化調整,以便提升總處理量。

以下提供一些建議追蹤的指標:

  • 每秒查詢次數
  • 每秒傳輸的資料量
  • 每秒 I/O 作業數
  • 資源使用率,例如 CPU 或記憶體用量
  • 處理積壓工作的大小,例如 pub/sub 或執行緒數

不只是平均值

評估成效時,常見的錯誤就是只看平均值。雖然這項資訊很實用,但無法提供延遲時間分布的洞察資訊。更適合追蹤的指標是成效百分位數,例如指標的 50/75/90/99 百分位數。

一般而言,最佳化可分為兩個步驟完成。首先,請針對第 90 百分位數的延遲時間進行最佳化。接著,請考慮 99 百分位數 (也稱為尾端延遲時間):完成所需時間較長的一小部分要求。

伺服器端監控功能可提供詳細結果

一般來說,伺服器端設定檔是追蹤指標的首選。伺服器端通常較容易進行檢測,可存取更精細的資料,且較不易受到連線問題的干擾。

瀏覽器監控功能可提供端對端的瀏覽權限

瀏覽器設定檔可提供有關使用者體驗的其他洞察資料。這項功能可顯示哪些網頁的請求速度較慢,您可以將這些資訊與伺服器端監控資料建立關聯,以便進一步分析。

Google Analytics網頁載入時間報表中提供內建的網頁載入時間監控功能。這項功能提供多種實用檢視畫面,協助您瞭解網站的使用者體驗,特別是:

  • 網頁載入時間
  • 重新導向載入時間
  • 伺服器回應時間

雲端監控

您可以使用許多工具擷取及監控應用程式的效能指標。舉例來說,您可以使用 Google Cloud Logging 將效能指標記錄到 Google Cloud 專案,然後在 Google Cloud Monitoring 中設定資訊主頁,以便監控及區隔記錄的指標。

請參閱記錄指南,瞭解如何從 Python 用戶端程式庫中的自訂攔截器記錄至 Google Cloud Logging 的範例。在 Google Cloud 中提供這些資料後,您就可以在記錄資料上建立指標,透過 Google Cloud Monitoring 掌握應用程式狀況。請按照指南建立使用者定義的記錄指標,使用傳送至 Google Cloud Logging 的記錄建立指標。

或者,您也可以使用 Monitoring 用戶端程式庫在程式碼中定義指標,並直接將指標傳送至 Monitoring,與記錄分開。

記錄指標範例

假設您想監控 is_fault 值,以便進一步瞭解應用程式的錯誤率。您可以從記錄中擷取 is_fault 值,並將其轉換為新的計數器指標 ErrorCount

指標設定

指標中的篩選器和標籤

在 Cloud Logging 中,您可以使用標籤,根據記錄檔中的其他資料將指標分門別類。您可以為傳送至 Cloud Logging 的 method 欄位設定標籤,瞭解 Google Ads API 方法如何細分錯誤數量。

設定 ErrorCount 指標和 Method 標籤後,您可以在 Monitoring 資訊主頁中建立新的圖表,以便依 Method 分組監控 ErrorCount

ErrorCount 資訊主頁

快訊

您可以在 Cloud Monitoring 和其他工具中設定快訊政策,指定指標應在何時以何種方式觸發快訊。如需設定 Cloud Monitoring 快訊的操作說明,請參閱快訊指南