當虛擬機器連線到彈性 SAN 磁碟區時的效能運作方式
本文說明彈性 SAN 效能的運作方式,以及彈性 SAN 限制與 Azure 虛擬機器 (VM) 限制的組合如何影響工作負載的效能。
效能的運作方式
Azure VM 具有以 VM 類型和大小為依據的每秒輸入/輸出作業數 (IOPS) 和輸送量效能限制。 彈性 SAN 有一個效能集區,將會配置給其中的每個磁碟區。 彈性 SAN 磁碟區可以連結至 VM,而且每個磁碟區都有自己的 IOPS 和輸送量限制。
當應用程式要求的 IOPS 或輸送量超過 VM 或連結磁碟區所分配的輸送量時,應用程式的效能便會受到節流。 遭到節流時,應用程式的效能會降低,且可能會產生負面影響,例如延遲增加。 彈性 SAN 的主要優點之一在於可根據需求自動佈建 IOPS。 您 SAN 的 IOPS 會由其所有磁碟區共用,因此遇到工作負載尖峰時仍可應付,而不需要節流或額外費用。 本文說明此佈建的運作方式。
彈性 SAN 效能
彈性 SAN 的效能取決於三個屬性:總容量、IOPS 和輸送量。 若要獲得最佳效能,您的 SAN 應該與佈建的 VM 位於相同的區域中。
Capacity
彈性 SAN 的總容量取決於兩個不同的容量:基準容量和額外容量。 增加基準容量也會增加 SAN 的 IOPS 和輸送量,但費用會比增加額外容量高。 增加額外容量不會增加 IOPS 或輸送量。
IOPS
彈性 SAN 的 IOPS 是每基準 TiB 增加 5,000 次。 所以,彈性 SAN 的基準容量若是 6 TiB,則此 SAN 最多可提供 30,000 IOPS。 同一 SAN 無論有 50 TiB 的額外容量還是 500 TiB 的額外容量,都只會提供 30,000 IOPS,因為 SAN 的效能僅取決於基準容量。 彈性 SAN 的 IOPS 會分散在其所有磁碟區中。
輸送量
彈性 SAN 的輸送量是每基準 TiB 增加 200 MB/秒。 所以,彈性 SAN 的基準容量若是 6 TiB,則此 SAN 最多可提供 1200 MB/秒。 同一 SAN 無論有 50 TiB 的額外容量還是 500 TiB 的額外容量,都只會提供 1200 MB/秒輸送量,因為 SAN 的效能僅取決於基準容量。 彈性 SAN 的輸送量會分散在其所有磁碟區中。
彈性 SAN 磁碟區
個別磁碟區的效能取決於其容量。 磁碟區的 IOPS 上限是每 GiB 增加 750 次,最多 80,000 IOPS。 輸送量上限是每 GiB 增加 60 MB/秒,最多 1,280 MB/秒。 一個磁碟區至少需要 107 GiB 才能使用 80,000 IOPS。 一個磁碟區至少需要 22 GiB,才能使用上限的 1,280 MB/秒。 所有磁碟區的 IOPS 和輸送量組合不能超過您 SAN 的 IOPS 和輸送量。
範例設定
本文中的每個範例案例針對彈性 SAN 都使用下列設定:
資源 | Capacity | IOPS |
---|---|---|
彈性 SAN | 27 TiB | 135,000 (已佈建) |
AKS SAN 磁碟區 | 3 TiB | 最高 80,000 |
工作負載 1 SAN 磁碟區 | 10 TiB | 最高 80,000 |
工作負載 2 SAN 磁碟區 | 4 TiB | 最高 80,000 |
工作負載 3 SAN 磁碟區 | 2 TiB | 最高 80,000 |
範例案例
下列範例案例描述彈性 SAN 如何處理效能配置。 為了獲得最佳效能,VM 和 SAN 必須位於相同的區域中。
一般工作負載
工作負載 | 要求的 IOPS | 提供的 IOPS |
---|---|---|
AKS 工作負載 | 3,000 | 3,000 |
工作負載 1 | 10,000 | 10,000 |
工作負載 2 | 8,000 | 8,000 |
工作負載 3 | 20,000 | 20,000 |
在此案例中,VM 或 SAN 層級不會發生任何節流。 SAN 本身有 135,000 IOPS,每個磁碟區都夠大,足以提供最高 80,000 IOPS,SAN 擁有足夠的 IOPS,沒有超過 VM 的 IOPS 限制,而要求的 IOPS 總數為 41,000。 因此,工作負載會全數執行,沒有任何節流。
單一工作負載尖峰
工作負載 | 要求的 IOPS | 提供的 IOPS | 尖峰時間 |
---|---|---|---|
AKS 工作負載 | 2,000 | 2,000 | N/A |
工作負載 1 | 10,000 | 10,000 | N/A |
工作負載 2 | 10,000 | 10,000 | N/A |
工作負載 3 | 80,000 | 80,000 | 上午 9:00 |
在此案例中,不會發生節流。 工作負載 3 在上午 9 點達到尖峰,要求 80,000 IOPS。 其他工作負載都沒有尖峰,且 SAN 有足夠的可用 IOPS 分配給工作負載,因此沒有節流。
一般而言,這是 SAN 共用工作負載的理想設定。 最好有足夠的效能可處理工作負載的正常作業,以及偶發的尖峰。
所有工作負載尖峰
工作負載 | 要求的 IOPS | 提供的 IOPS | 尖峰時間 |
---|---|---|---|
AKS 工作負載 | 5,000 | 5,000 | 上午 9:00 |
工作負載 1 | 40,000 | 21,000 | 上午 9:01 |
工作負載 2 | 45,000 | 45,000 | 上午 9:00 |
工作負載 3 | 64,000 | 64,000 | 上午 9:00 |
請務必了解 SAN 在最嚴峻情況下的行為,即每個工作負載同時達到尖峰的狀況。
在此案例中,所有工作負載幾乎同時達到尖峰。 此時,所有工作負載所需的總 IOPS 量 (64,000 + 45,000 + 40,000 + 5,000) 大於 SAN 層級 (135,000) 佈建的 IOPS。 因此,工作負載會受到節流。 節流會以「先到先提供」的模式執行,因此達到最大容量之後,無論哪個工作負載要求 IOPS,都無法獲得更多效能。 在此情況下,工作負載 1 在其他工作負載之後要求 40,000 IOPS,由於 SAN 已配置大部分可用的 IOPS,因此只能提供剩餘的 IOPS。