為SQL伺服器工作負載選取正確的EC2執行個體 - AWS 規範指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為SQL伺服器工作負載選取正確的EC2執行個體

重要

在您閱讀本節之前,建議您先閱讀本指南的了解SQL伺服器授權,並為 Windows 工作負載選取正確的執行個體類型

概觀

Microsoft SQL Server 已在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上執行超過 15 年。 AWS 已利用該經驗協助開發 Amazon EC2執行個體,以適應從最低規格到高效能多區域叢集執行的SQL伺服器工作負載。

選擇正確的SQL伺服器EC2執行個體,主要取決於您的工作負載。了解SQL伺服器如何獲得授權、如何使用記憶體,以及SQL伺服器功能如何與 Amazon EC2產品保持一致,有助於引導您找到應用程式的最佳EC2執行個體。

本節說明各種SQL伺服器工作負載,以及如何與特定EC2執行個體配對,以將授權和運算成本降至最低。

成本比較

Amazon EC2可讓您攜帶自己的授權 (BYOL) 或隨著 Windows Server 和 SQL Server 授權付費。針對 pay-as-you-go授權,Windows Server 和 SQL Server 授權的授權成本會計入EC2執行個體的每小時成本。例如,您可以AMIs擁有不同價格的不同 。的價格AMI取決於 AMI 執行的 SQL Server 版本。

Windows Server 和 SQL Server 定價不會逐項列出。您在 等工具上找不到分項定價AWS Pricing Calculator。如果您選取不同的授權包含方案組合,則可以降低授權成本,如下表所示。

EC2 執行個體 AMI 計算價格 Windows 授權價格 SQL 授權價格 總價
r5.xlarge Linux (運算定價) 183.96 美元 - - 183.96 美元
r5.xlarge Linux + SQL開發人員 183.96 美元 0 USD 0 USD 183.96 美元
r5.xlarge Windows Server (LI) 183.96 美元 134.32 美元 - 318.28 美元
r5.xlarge Windows + SQL開發人員 183.96 美元 134.32 美元 0 USD 318.28 美元
r5.xlarge Windows + SQL Web (LI) 183.96 美元 134.32 美元 49.64 美元 367.92 美元
r5.xlarge Windows + SQL 標準 (LI) 183.96 美元 134.32 美元 350.4 美元 668.68 美元
r5.xlarge Windows + SQL 企業版 (LI) 183.96 美元 134.32 美元 1095 美元 1413.28 美元
注意

上表中的定價是以 us-east-1區域中的隨需定價為基礎。

執行 SQL Server 最符合成本效益的方法,是保持在較低層級的版本,直到您需要更高層級版本的功能為止。如需詳細資訊,請參閱本指南的比較SQL伺服器版本一節。從 SQL Server Web Edition 升級至 SQL Server Standard Edition 的費用超過SQL伺服器授權成本的七倍,以及從 Standard Edition 移至 Enterprise Edition 的費用超過三倍。授權成本的差異是需要考慮的主要因素,並在本節的其餘部分中探索。

成本最佳化案例

請考慮分析公司追蹤交付工具正在尋求改善其SQL伺服器效能的範例案例。MACO 專家檢閱公司的效能瓶頸後,公司會從 x1e.2xlarge 執行個體轉換為 x2iedn.xlarge 執行個體。雖然執行個體大小較小,但對 x2 執行個體的增強功能會使用緩衝集區延伸來改善SQL伺服器效能和最佳化。這可讓公司從 SQL Server Enterprise 版本降級為 SQL Server Standard 版本,並將其SQL伺服器授權從 8 降級 vCPUs 為 4vCPUs。

最佳化之前:

Server EC2 執行個體 SQL 伺服器版本 每月成本
產品DB1 x1e.2xlarge Enterprise 3,918.64 美元
產品DB2 x1e.2xlarge Enterprise 3,918.64 美元
總計     7,837.28 美元

最佳化後:

Server EC2 執行個體 SQL 伺服器版本 每月成本
產品DB1 x2iedn.xlarge 標準 $1,215.00
產品DB2 x2iedn.xlarge 標準 $1,215.00
總計     $2,430.00

從 x1e.2xlarge 執行個體到 x2iedn.xlarge 執行個體的合併變更,可讓範例客戶在生產資料庫伺服器上每月節省 5,407 美元。這將工作負載的總成本降低了 69%。

注意

上表中的定價是以 us-east-1區域中的隨需定價為基礎。

成本最佳化建議

記憶體最佳化執行個體

SQL 伺服器最重要的層面之一是了解其對記憶體的依賴。SQL 伺服器嘗試使用作業系統RAM未使用的所有可用 (預設安裝最多 2 TB)。它出於效能原因這樣做。使用記憶體中的資料比必須不斷從磁碟中提取資料、進行變更,然後將其寫入磁碟更高效能。反之,SQL伺服器會嘗試從連接的資料庫盡可能載入最多的資料,並將該資料保留在 中RAM。對資料所做的變更會在記憶體中發生,並在稍後硬化至磁碟。

注意

如需SQL伺服器如何寫入變更的詳細說明,請參閱 Microsoft 文件中的寫入頁面

由於SQL伺服器在大量 中表現較佳RAM,因此通常建議從 Amazon EC2記憶體最佳化執行個體類型開始。記憶體最佳化執行個體用途廣泛,並提供各種不同的選項。R 系列具有 1 比 8 vCPU-to-RAM 的比率,並可選擇 Intel 處理器、AMD處理器、增強型聯網、增強型EBS效能、執行個體儲存和增強型處理器速度。對於記憶體繁重的工作負載,也有一個 X 系列結合了許多相同的選項,並將 vCPU-to-RAM比率擴展到 1 到 32。由於記憶體最佳化執行個體的多樣性,您可以將它們套用至所有形狀和大小的SQL伺服器工作負載。

低於最低資源的工作負載 (少於 4 個vCPUs)

雖然某些使用案例與爆量 (T3) 執行個體運作良好,但我們建議您一般避免將爆量執行個體用於SQL伺服器工作負載。SQL Server 的授權是以 vCPUs 指派給執行個體的 數目為基礎。如果SQL伺服器在一天的大部分時間都處於閒置狀態,且正在取得爆量額度,則您要為未充分利用的SQL使用權付費。此外,SQL伺服器對於每部伺服器有 4 個核心的最低授權需求。這表示,如果您的SQL伺服器工作負載不需要 4 vCPUs 值的運算能力,則需支付您未使用的SQL伺服器授權。在這些情況下,最好將多個SQL伺服器執行個體合併到較大的伺服器上。

使用最少資源的工作負載 (小於 64 GBRAM)

許多 64 GB 以下的SQL伺服器工作負載RAM不會優先考慮高效能或高可用性。對於這些類型的工作負載,如果應用程式涵蓋在 Microsoft 的授權限制內,SQL則伺服器 Web 版本可能非常適合。

重要

SQL 根據 Microsoft 的授權條款,伺服器 Web 版本具有受限制的使用案例。SQL 伺服器 Web 版本只能用於支援公有和網際網路可存取的網頁、網站、Web 應用程式和 Web 服務。其可能無法用於支援 line-of-business應用程式 (例如,客戶關係管理、企業資源管理和其他類似應用程式)。

SQL 伺服器 Web 版本可擴展至 32 vCPUs 和 64 GB,RAM比 SQL Server Standard 版便宜 86%。對於低資源工作負載,使用AMD記憶體最佳化執行個體,例如 r6a,其運算價格比 Intel 便宜 10%,也是將運算和SQL授權成本保持在最低水準的好方法。

具有平均資源的工作負載 (小於 128 GBRAM)

SQL Server Standard 版用於大多數高達 128 GB 的SQL伺服器工作負載RAM。SQL Server Standard 版比 SQL Server Enterprise 版便宜 65–75%,且可擴展至 48 vCPUs 和 128 GBRAM。由於 128 GB RAM限制通常在 48 vCPU 限制之前達到,因此大多數想要避免升級至 SQL Server Enterprise Edition 的客戶都以其為重。

SQL 伺服器具有稱為緩衝集區延伸 的功能。此功能可讓SQL伺服器使用磁碟的一部分作為 的延伸RAM。緩衝區集區擴充功能與超快速儲存搭配使用時運作良好,就像 Amazon EC2執行個體儲存 NVMeSSDs中使用的 一樣。包含執行個體儲存體的 Amazon EC2執行個體會以執行個體名稱 (例如 r5d、r6id 和 x2iedn) 中的 "d" 表示。

緩衝區集區延伸無法取代一般 RAM。不過,如果您需要超過 128 GB 的 RAM,則可以將緩衝集區延伸項目與 r6id.4xlarge 和 x2iedn.xlarge 等EC2執行個體搭配使用,以延遲升級至 Enterprise Edition 授權。

高效能工作負載 (超過 128 GBRAM)

SQL 需要高效能的伺服器工作負載對成本最佳化來說具有挑戰性,因為它們依賴許多資源。不過,了解EC2執行個體的差異可能會讓您無法做出錯誤的選擇。

下表顯示各種記憶體最佳化EC2執行個體及其效能限制。

  r5b r6idn r7iz x2iedn x2iezn
處理器

3.1 GHz

第 2 代 Intel Xeon 處理器

3.5 GHz

第三代 Intel Xeon 處理器

3.9 GHz

第 4 代 Intel Xeon 可擴展處理器

3.5 GHz

第三代 Intel Xeon 處理器

4.5 GHz

第 2 代 Intel Xeon 處理器

CPU:RAM 比率 1:8 1:8 1:8 1:32 1:32
最大 vCPU 96 128 128 128 48
最大值 RAM 768 GB 1,024 GB 1,024 GB 4,096 GB 1,536 GB
執行個體儲存體

NVMe SSD

(4 個 1900 GB)

NVMe SSD

(2 個 1900 GB)

io2 Block Express 支援 支援 支援 支援
最大值 EBS IOPS 260,000 350,000 160,000 260,000 80,000
最大EBS輸送量 60 Gbps 80 Gbps 40Gbps 80 Gbps 19 Gbps
網路頻寬上限 25 Gbps 200 Gbps 50 Gbps 100 Gbps 100 Gbps

每個執行個體都用於不同的用途。了解您的SQL伺服器工作負載可協助您選擇最適合您的執行個體類型。

屬性的詳細資訊:

  • r5b – r5b 中的「b」屬性表示此執行個體類型專注於EBS高效能。在第五代記憶體最佳化執行個體中,r5b 是首選。這是第一個使用 io2 Block Express 磁碟區並達到 260,000 個儲存上限IOPS的執行個體類型。r5b 執行個體類型仍然是符合成本效益的替代方案,可滿足EBS高效能需求。

  • r6idn – 第六代的記憶體最佳化執行個體提供比上一代大幅改善。r5b EBS的效能增強功能會進一步採用 r6idn,將最大值提升IOPS至 350,000。r6idn 也具有 tempdb 和緩衝集區擴充功能的執行個體存放區磁碟區,以進一步提升SQL伺服器效能。

  • x2iedn – x2iedn 類似於 r6idn。它提供類似層級的增強型 EBS、增強型網路和NVMeSSD執行個體儲存,但高記憶體工作負載和低CPU數量 (較低的SQL伺服器授權成本) 的比率為 1:32 vCPU-to-RAM。

  • x2iezn – x2iezn 中的 "z" 屬性表示此執行個體類型著重於高處理器效能。Cascade Lake 處理器具有高達 4.5 的全核心渦輪頻率。 GHz建議您在想要保持低 vCPU 數量的情況下,使用此EC2執行個體,並搭配 1:32 vCPU-to-RAM 比例。這反過來可以降低SQL伺服器授權成本。

  • r7iz – r7iz 中的 "z" 屬性表示此執行個體類型著重於高處理器效能。Sapphire rapids 處理器具有高達 3.9 的全核心渦輪頻率GHz。如同 x2iezn 執行個體,r7iz 會優先考慮高頻率處理器效能,但 vCPU-to-RAM比例為 1:8。

其他資源