容量規劃考慮
- 5 分鐘
基本容量規劃從一些簡單的計算開始,但有一些因素可能會使程序複雜化。 除了簡單的目前和預測使用量號碼之外,您還必須考慮下列考慮:
- 服務限制與配額
- 成本限制
- 程式代碼和設定效率不佳
- 依賴
在此單元中,您將探討這些考慮如何影響您的容量規劃,以及如何解決每個考慮。
服務限制與配額
將雲端運算視為無限資源的趨勢。 與傳統的伺服器/資料中心模型相比,雲端的容量似乎無限。 雲端確實提供全新的規模層級。 然而,就像其他一切一樣,它確實有一些限制。 容量規劃牽涉到瞭解何時達到這些服務限制。
查看您的系統及其架構時,您必須瞭解您所使用的雲端服務限制。 例如,根據預設,每個 VM 可用性設定組在 Azure 中最多可以有 200 部 VM。 如果您是新手,則可能會認為這些 VM 限制已相當足夠。 不過,當您達到該限制時,就無法布建更多 VM,這可能會導致中斷。
同樣地,根據預設,每個區域每個訂用帳戶可以有 250 個記憶體帳戶。 這些限制都是可以增加的軟限制範例。 但某些服務有上限,您可以在下列連結中找到。
這些限制和配額是要注意和監視的事項。 讓我們看看如何做到這一點。
Azure 入口網站
您可以在瀏覽窗格中的 [訂用帳戶 >] 下方的 [使用量 + 配額] 區段中查看服務配額,以及與這些限制相關的位置。 您可以篩選服務類別,例如網路/計算和 Azure 區域。 這會顯示目前相對於限制的使用量。
透過程式碼
您可以使用 Usage - List 任何 Azure 服務的端點來取得目前的資源使用量資訊,以及訂用帳戶下計算資源的限制,如這個截斷的範例所示。
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages?api-version=2023-03-01
{
"currentValue": 124,
"/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/westeurope/usages/VirtualNetworks",
"limit": 1000,
"name": {
"localizedValue": "Virtual Networks",
"value": "VirtualNetworks"
},
"unit": "Count"
}
您可以看到目前使用的 Azure 虛擬網路 (VNet) 數目是 124,限制為 1000。 增加限制需要支援要求,因此請確定您事先知道何時可能接近閾值。
成本限制
縮放不僅僅是在發生問題時投入更多資源。 組織必須瞭解雲端環境的成本,而且新增更多資源通常等於更多成本。 請留意此成本,並與您的財務小組合作,以確保您已同意目前和預計的雲端支出。
您應該在最初設計系統時,以及執行已執行中系統的定期檢閱時,預測成本。 Azure 提供可協助您的工具:
- 使用 Azure 計算機規劃環境的成本。
- 在 Azure 入口網站中檢閱目前和預計的每月支出。
- 在Microsoft成本管理中設定預算。 此工具可讓您檢查不同範圍的成本,包括管理群組、資源群組和訂用帳戶。
程式代碼和設定效率不佳
有時候,引導更多資源可以解決問題,但成本較高。 有時候調整不是解決方案,也不是完整的解決方案。 在某些情況下,看似需要擴展的需求,實際上可能是由程式碼撰寫或配置不佳引起的問題。
在擴充資源之前,您可以先找出 Bug 來節省金錢和時間。 此方法的一些範例包括:
- 如果您的資料庫設計不良,且具有熱點分區,例如在大型 noSQL 資料庫中僅使用一個分區,無論如何擴展,速度都會很慢。
- 如果您的資料庫查詢效率不佳,請在投入更多資源到資料庫之前,讓它們更具效能。 有時候,只要根據一般查詢將正確的索引新增至資料庫,就可以降低成本 100 倍。
- 如果逾時設定不正確,而資料庫連結會因伺服器與資料庫之間逾時不一致造成重試且可能導致飽和。 在此情況下,您需要先修正設定,再調整資料庫。
- 如果開發人員的程式代碼效率不佳,您可以撰寫更有效率的程式代碼來解決問題嗎? 或許程式碼並未在可能的情況下釋放記憶體,因此您在不必要時使用了較大的記憶體 VM。 這類修正可大幅節省成本。
依賴
解決本課程模組中所述某些問題所需的變更,通常與應用程式的開發人員有相依性。 此處建議的一些解決方案和最佳做法,需要您與這些開發人員之間的共同作業,才能進行。
您可能無法自行實作所有這些建議。 不過,如果您了解雲端系統及其功能與特性,您可以成為改善系統及其延展性和可靠性的變更驅動程式。