使用 Azure NetApp Files 部署 SQL Server 的優點

相較於區塊儲存體解決方案,Azure NetApp Files 可降低 SQL Server 擁有權總成本 (TCO)。 使用區塊儲存體時,虛擬機器已對磁碟作業的 I/O 和頻寬施加限制。 系統僅會針對 Azure NetApp Files 套用網路頻寬限制,而且只會套用至該處的輸出。 換句話說,系統不會針對 Azure NetApp Files 套用 VM 層級 I/O 限制。 如果沒有這些 I/O 限制,在連線至 Azure NetApp Files 的較小虛擬機器上執行的 SQL Server,其效能可以與在大型虛擬機器上執行的 SQL Server 一樣良好。 如此將執行個體調小,可將計算成本減少為先前價格的 25%。 您可以透過 Azure NetApp Files 來降低計算成本。

不過,相較於 SQL Server 授權成本,計算成本是很小的。 Microsoft SQL Server 授權會繫結至實體核心計數。 因此,減少執行個體大小會大幅降低軟體授權的成本。 您可以透過 Azure NetApp Files 來降低軟體授權成本。

本文說明使用 Azure NetApp Files 進行 SQL Server 部署的詳細成本分析和效能優勢。 小型執行個體不僅有足夠的 CPU 來執行僅能在較大執行個體上使用區塊執行的資料庫工作,由於有了 Azure NetApp Files,在許多情況下,較小的執行個體效能甚至比其較大的磁碟型對應項目還要高。

詳細成本分析

本節中的兩組圖形會顯示擁有權總成本 (TCO) 範例。 受控磁碟的數目和類型、Azure NetApp Files 服務等級,以及每個案例的容量,都經過選擇以達到最佳的價格容量效能。 每個圖形都是由分組的機器 (範例中以具有 Azure NetApp Files 的 D16 與具有受控磁碟的 D64 相比) 所組成,而且每種機器類型的價格都會細分。

第一組圖形顯示使用 1-TiB 資料庫大小的解決方案的整體成本,比較 D16s_v4 與 D64、D8 與 D32,以及 D4 與 D16。 每個設定的預測 IOPS 會以綠色或黃色線條表示,並對應至右側 Y 軸。

Graphic that shows overall cost of the solution using a 1-TiB database size.

第二組圖形顯示使用 50 TiB 資料庫的整體成本。 其他方面的比較是相同的 - 例如 D 16 與 Azure NetApp 相比,D64 與區塊相比。

Graphic that shows overall cost using a 50-TiB database size.

效能和許多效能

為了實現大幅降低成本的主張,需要大量的效能 - 一般 Azure 清查中的最大執行個體支援 80,000 個磁碟 IOPS。 單一 Azure NetApp Files 磁碟區可以達到 80,000 個資料庫 IOPS,而 D16 這樣的執行個體也可以取用相同的數量。 D16 通常能達到 25,600 個磁碟 IOPS,是 D64 的 25%。 D64s_v4 能夠有 80,000 個磁碟 IOPS,因此提供絕佳的高階比較點。

D16s_v4 可以將 Azure NetApp Files 磁碟區驅動至 80,000 個資料庫 IOPS。 如 SQL 儲存體效能評定 (SSB) 效能評定工具所證明,D16 執行個體達到的工作負載比 D64 執行個體在磁碟上所達成的多 125%。 如需工具的詳細資訊,請參閱 SSB 測試工具一節。

使用 1 TiB 工作集大小和 80% 讀取、20% 更新的 SQL Server 工作負載、測量 D 執行個體類別中大部分執行個體的效能能力;但並非全部測試,因為 D2 和 D64 執行個體本身已排除在測試之外。 前者因為不支援加速網路而遭到排除,而後者則是因為它是比較點。 請參閱下圖,分別了解 D4s_v4、D8s_v4、D16s_v4 和 D32s_v4 的限制。 圖中未顯示受控磁碟儲存體測試。 比較值是直接從 D 類別執行個體類型的 Azure 虛擬機器限制資料表中所提取。

透過 Azure NetApp Files,D 類別中的每個執行個體都可以達成或超過執行個體的磁碟效能能力兩倍。 透過 Azure NetApp Files 您可以大幅降低軟體授權成本。

  • D4 的 75% CPU 使用率相當於 D16 的磁碟功能。
    • D16 的速率限制為 25,600 個磁碟 IOPS。
  • D8 的 75% CPU 使用率相當於 D32 的磁碟功能。
    • D32 的速率限制為 51,200 個磁碟 IOPS。
  • D16 的 55% CPU 使用率相當於 D64 的磁碟功能。
    • D64 的速率限制為 80,000 個磁碟 IOPS。
  • D32 的 15% CPU 使用率相當於 D64 的磁碟功能。
    • 上述的 D64 速率限制為 80,000 個磁碟 IOPS。

S3B CPU 限制測試 – 效能與處理能力

下圖摘要說明 S3B CPU 限制測試:

Diagram that shows average CPU percentage for single-instance SQL Server over Azure NetApp Files.

可擴縮性只是其中一部分。 另一個部分則是延遲。 對於小型虛擬機器來說,能夠驅動更高的 I/O 速率是一回事,而能以低個位數的延遲來達成此目的又是另一回事。

  • D4 在 2.3 毫秒的延遲下對 Azure NetApp Files 驅動 26,000 IOPS。
  • D8 在 2.0 毫秒的延遲下對 Azure NetApp Files 驅動 51,000 IOPS。
  • D16 在 2.8 毫秒的延遲下對 Azure NetApp Files 驅動 88,000 IOPS。
  • D32 在 2.4 毫秒的延遲下對 Azure NetApp Files 驅動 80,000 IOPS。

每個執行類型的 S3B 延遲結果

下圖顯示 Azure NetApp Files 上單一執行個體 SQL Server 的延遲:

Diagram that shows latency for single-instance SQL Server over Azure NetApp Files.

SSB 載測試工具

TPC-E 基準測試工具在設計上是針對「計算」進行壓力測試,而非針對「儲存體」。 本節中顯示的測試結果是基於名為 SQL Storage Benchmark (SSB) 的壓力測試工具。 SQL Server 儲存體效能評定可針對 SQL Server 資料庫推動大規模的 SQL 執行,以模擬 OLTP 工作負載,類似於 SLOB2 Oracle 基準測試工具

SSB 工具會產生 SELECT 和 UPDATE 驅動的工作負載,直接向在 Azure 虛擬機器內執行的 SQL Server 資料庫發出上述陳述式。 在此專案中,SSB 工作負載會從 1 漸進測試至 100 個 SQL Server 使用者,每個使用者計數 15 分鐘有 10 或 12 個中繼點。 這些執行的所有效能計量都是從效能的觀點來看,為了重複性,SSB 每個案例執行三次。

測試本身已設定為 80% SELECT 和 20% UPDATE 陳述式,因此會隨機讀取 90%。 SSB 所建立的資料庫本身大小為 1000 GB。 它包含 15 個使用者資料表,每個使用者資料表有 9,000,000 個資料列,每個資料列中有 8192 個位元組。

SSB 基準測試是開放原始碼工具。 它可在 SQL 儲存體基準 GitHub 頁面免費取得。

綜上所述

透過 Azure NetApp Files,您可以增加 SQL Server 效能,同時大幅降低擁有權總成本。

後續步驟