如要最佳化效能,首先要找出重要指標,通常與延遲和輸送量有關。新增監控功能來擷取及追蹤這些指標,可找出應用程式的弱點。有了指標,就能進行最佳化,改善成效指標。
此外,許多監控工具可讓您設定指標快訊,在達到特定門檻時收到通知。舉例來說,您可以設定快訊,在失敗要求百分比超過正常水準 X% 時收到通知。監控工具可協助您瞭解正常效能,並找出延遲時間、錯誤數量和其他重要指標的異常尖峰。在業務關鍵時段,或將新程式碼推送至正式環境後,監控這些指標的能力尤為重要。
找出延遲指標
請盡可能確保 UI 保持回應性,並注意使用者對行動應用程式的標準更高。此外,也應測量及追蹤後端服務的延遲時間,因為如果未檢查,可能會導致輸送量問題。
建議追蹤的指標包括:
- 要求時間長度
- 以子系統精細度 (例如 API 呼叫) 顯示要求時間長度
- 工作時間長度
找出處理量指標
處理量是指在指定時間內處理的要求總數。子系統的延遲時間可能會影響總處理量,因此您可能需要針對延遲時間進行最佳化,以提高總處理量。
建議追蹤以下指標:
- 每秒查詢次數
- 每秒傳輸的資料大小
- 每秒 I/O 作業數
- 資源使用率,例如 CPU 或記憶體用量
- 待處理工作量大小,例如 Pub/Sub 或執行緒數量
不只是平均值
評估效能時,常見的錯誤是只看平均值。雖然這項功能很實用,但無法提供延遲時間分布情形的深入分析。建議追蹤成效百分位數,例如指標的第 50、75、90 和 99 個百分位數。
一般來說,最佳化作業可分為兩個步驟。首先,請針對第 90 個百分位數的延遲時間進行最佳化。接著,請考慮第 99 個百分位數,也就是尾部延遲時間:一小部分要求需要較長的時間才能完成。
伺服器端監控,可取得詳細結果
追蹤指標時,通常建議使用伺服器端剖析。伺服器端通常更容易檢測,可存取更精細的資料,且較不易受到連線問題的干擾。
瀏覽器監控功能,提供端對端觀測能力
如果 Google Ads API 整合功能會向使用者提供網頁前端,瀏覽器剖析功能可進一步瞭解使用者體驗。這項工具會顯示哪些網頁的要求速度緩慢,您可以將這些網頁與伺服器端監控功能建立關聯,進一步分析。
Google Analytics 也提供現成的網頁載入時間監控功能,可在 Analytics 網頁操作時間報表中查看。這項功能提供多種實用檢視畫面,可協助您瞭解網站的使用者體驗,特別是:
- 網頁載入時間
- 重新導向載入時間
- 伺服器回應時間
在雲端中監控
您可以使用多種工具擷取及監控應用程式的成效指標。舉例來說,您可以使用 Cloud Logging 將成效指標記錄到 Google Cloud 雲端專案,然後在 Cloud Monitoring 中設定資訊主頁,監控及區隔記錄指標。
請參閱記錄指南,瞭解為 Python 用戶端程式庫編寫的自訂 gRPC 記錄攔截器範例。在該範例中,攔截器會呼叫 logger.log_struct(),將結構化記錄資料的 Python 字典傳送至 Cloud Logging,Cloud Logging 會將其儲存在記錄項目的 jsonPayload 欄位中:
logger.log_struct({
"method": method_name,
"elapsed_ms": elapsed_milliseconds,
"is_fault": is_fault,
})
在 Google Cloud 中取得這些資料後,您可以在記錄的資料上建立指標,透過 Google Cloud Monitoring 掌握應用程式的狀況。請按照使用者定義的記錄指標指南,使用傳送至 Google Cloud Logging 的記錄檔建立指標。
或者,您也可以使用 Cloud Monitoring 用戶端程式庫,在程式碼中定義指標,並將指標直接傳送至 Monitoring,與記錄檔分開。
記錄指標範例
假設您想監控 is_fault 值,以便更瞭解應用程式中的錯誤率。由於 logger.log_struct() 會在每個 Cloud Logging 記錄項目的 jsonPayload 下寫入結構化字典欄位,因此您可以建立名為 ErrorCount 的計數器指標,並使用與失敗要求相符的篩選器,例如 jsonPayload.is_fault = true。
在 Cloud Logging 中,標籤可讓您根據記錄檔中的其他資料,將指標分組為不同類別。您可以在傳送至 Cloud Logging 的 jsonPayload.method 欄位上,設定名為 Method 的 STRING 標籤,依 Google Ads API 方法細分錯誤計數。
設定 ErrorCount 指標和 Method 標籤後,您可以在 Cloud Monitoring 中建立新圖表,監控依 Method 分組的 ErrorCount。
快訊
您可以在 Cloud Monitoring 和其他工具中設定警告政策,指定指標應在何時及如何觸發警告。如要瞭解如何設定 Cloud Monitoring 快訊,請參閱記錄指標快訊指南。