Azure API 管理執行個體的容量

適用於:開發人員 |基本 |標準 |進階版

若想明智地決定是否要調整或升級 APIM 執行個體以容納更多負載,最重要的 Azure 監視器計量就是容量。 其建構非常複雜,而且會造成某些行為。

本文說明容量是什麼及其行為方式。 文中會說明如何在 Azure 入口網站中存取容量計量,並建議何時該考慮調整或升級 API 管理執行個體。

重要

本文討論如何根據其容量計量來監視及調整 Azure APIM 執行個體。 不過,請務必瞭解個別 APIM 執行個體實際達到其容量上限時,會發生什麼情況。 Azure APIM 不會在服務層級採取節流措施,防止執行個體發生實體多載問題。 當執行個體觸達其實體容量時,其行為會類似於無法處理傳入要求的任何多載 Web 伺服器:延遲增加、連線中斷、逾時錯誤等。 這表示 API 用戶端應該準備好處理這種可能性來處理任何其他的外部服務 (例如,藉由套用重試原則)。

必要條件

若要依照本文中的步驟進行,您必須有:

可用性

重要

只有 API 管理的進階層支援容量計量的最大彙總。

容量是什麼

說明容量計量的圖表。

容量是 APIM 執行個體上的負載指標。 這項指標會反映資源使用量 (CPU、記憶體) 和網路佇列長度。 CPU 和記憶體使用量會揭露下列項目所取用的資源數量:

  • APIM 管理資料平面服務,例如處理要求,其中可能包括轉送要求或執行原則。
  • APIM 的管理平面服務,例如管理透過 Azure 入口網站或 Azure Resource Manager 套用的動作,或來自開發人員入口網站的負載。
  • 選取的作業系統程序,包括與新連線上的 TLS 交握成本相關的程序。
  • 平台更新,例如執行個體基礎計算資源上的作業系統更新。
  • 部署的 API 數目,無論是否處於活動狀態,都可能消耗額外容量。

容量是每個 APIM 執行個體單位本身所擁有數值的平均值。

雖然容量計量的設計目的是要呈現 APIM 執行個體的問題,但在某些情況下,問題不會反映在容量計量的變更中。

容量計量行為

由於本身建構的關係,在現實生活中容量會受到許多變數所影響,例如:

  • 連線模式 (要求新連線與重複使用現有連線)
  • 要求和回應的大小
  • 每個 API 上所設定的原則或傳送要求的用戶端數目。

要求上的作業越複雜,所取用的容量越高。 例如,複雜的轉換原則所取用的 CPU,會比簡單要求轉送所取用的還多。 後端服務回應緩慢也會增加容量。

重要

容量不是所處理要求數目的直接量值。

容量計量尖峰

容量也可能會間歇性突增,即使沒有要處理的要求,容量也可能大於零。 之所以如此,是因為在決定是否要調整執行個體時,不應將系統或平台特有的動作列入考量。

容量計量不一定表示您的 APIM 執行個體未發生任何問題。

使用 Azure 入口網站檢查容量

容量計量

  1. 在 Azure 入口網站中瀏覽至您的 API 管理執行個體

  2. 在左側功能表的 [監視] 下方,選取 [計量]。

  3. 選取可用計量中的 [容量] 計量,並保留預設的 [平均值] 彙總。

    提示

    如果您已將執行個體部署到多個位置,您應該一律查看每個位置的容量計量明細,以避免錯誤解釋。

  4. 若要依位置分割計量,請從頂端的區段選取 [套用分割],然後選取 [位置]

  5. 從區段頂端列選取所需的時間範圍。

    您可以設定計量警示,即可得知有非預期的情況發生。 例如,在 APIM 執行個體已超出其預期尖峰容量達 20 分鐘以上時收到通知。

    提示

    您可以設定警示以在服務容量即將不足時收到通知,也可以使用 Azure 監視器自動調整來自動新增 Azure API 管理單位。 調整作業會花大約 30 分鐘的時間,因此您應該據此規劃您的規則。
    您只能調整主要位置。

使用容量來做出調整決策

容量計量可供用來明智地決定是否要調整 API 管理執行個體以容納更多負載。 以下是一般考量:

  • 查看一下長期趨勢和平均。
  • 忽略很可能與負載增加無關的突增 (請參閱容量計量行為一節的說明)。
  • 一般而言,當容量值長時間 (例如 30 分鐘) 超過 60% - 70 % 時,請升級或調整執行個體。 不同的值或許更適合您的服務或案例。
  • 若執行個體只設定 1 個單位,當容量值長時間超過 40% 時,請升級或調整您的執行個體。 這項建議以在基礎服務平台中保留客體作業系統更新容量的需求為基礎。

提示

如果您可以事先評估流量,請在您預期的工作負載上測試 APIM 執行個體。 您可以逐漸增加租用戶的要求負載,並監視尖峰負載對應的容量計量值。 請遵循上一節的步驟,使用 Azure 入口網站來了解任何特定時刻使用了多少容量。

下一步