以 DTU 為基礎的購買模型概觀
透過本文了解 Azure SQL Database 以 DTU 為基礎的購買模型。
若要深入了解,請參閱以虛擬核心為基礎的購買模型,並比較購買模型。
資料庫交易單位 (DTU)
資料庫交易單位 (DTU) 代表混合了 CPU、記憶體、讀取和寫入的量值。 以 DTU 為基礎的購買模型中的服務層,是以一系列計算大小做為區分,其中有固定數量的內含儲存體、固定保留期的備份及固定的價格。 以 DTU 為基礎的購買模型中的所有服務層級,皆可在最短的停機時間內靈活變更計算大小,不過在切換時會有一個與資料庫短暫中斷連線的期間,此狀況可透過重試邏輯來加以緩解。 單一資料庫和彈性集區會根據服務層級和計算大小,以每小時為單位來計費。
針對服務層級中特定計算大小的單一資料庫,Azure SQL Database 可保證該資料庫可有特定層級的資源 (與其他資料庫無關)。 這項保證提供可預測的效能等級。 為資料庫配置的資源數量會以 DTU 數目來計算,且為包含計算、儲存體和 I/O 資源的配套措施。
這些資源之間的比率,原本是由專為一般實際 OLTP 工作負載所設計的線上交易處理 (OLTP) 基準測試工作負載來決定。 若您的工作負載超過這些資源的數量,系統即會節流處理輸送量,因而導致效能變慢和逾時。
若為單一資料庫,您的工作負載所使用的資源並不會影響 Azure 雲端中其他資料庫可用的資源。 同樣地,其他工作負載所使用的資源也不會影響您資料庫可用的資源。
DTU 最適合用於了解為不同計算大小和服務層級的資料庫配置的相對資源。 例如:
- 藉由提升資料庫的計算大小來使 DTU 加倍,等於讓該資料庫可用的資源集加倍。
- 具有 1750 DTU 的進階服務層級 P11 資料庫提供比具有 5 DTU 的基本服務層級資料庫多 350 倍的 DTU 計算能力。
如需工作負載的資源 (DTU) 取用的深入見解,請使用查詢效能見解執行以下動作:
- 依 CPU/持續時間/執行計數識別排名最前面的查詢,對其進行微調可能有助於改善效能。 例如,記憶體內最佳化技術可能對 I/O 密集使用的查詢有所幫助,使其能更加妥善地運用特定服務層級和計算大小的可用記憶體。
- 向下鑽研查詢的詳細資料,以檢視其文字和資源使用方式的歷程記錄。
- 檢視顯示 SQL Database Advisor 所採取之動作的 效能微調建議。
彈性資料庫交易單位 (eDTU)
您可以將這些資料庫放入彈性集區,而無須提供一組不一定隨時需要的專用資源 (DTU)。 彈性集區中的資料庫會使用資料庫引擎的單一執行個體,並共用相同的資源集區。
彈性集區中的共用資源,是以彈性資料庫交易單位 (eDTU) 為單位。 彈性集區提供符合成本效益的簡易解決方案,以管理使用模式不同且多變的多個資料庫的效能目標。 彈性集區可保證所有資源不會由集區中的單一資料庫耗盡,同時可確保集區中的每個資料庫隨時有最低的必要資源量可以使用。
集區以固定價格提供固定數目的 eDTU。 在彈性集區中,個別資料庫可以在設定的界限內自動調整。 負載較重的資料庫會耗用更多 eDTU 以符合需求。 負載較輕的資料庫會耗用較少的 eDTU。 沒有負載的資料庫不會耗用 eDTU。 由於系統會針對整個集區佈建資源,而非針對各個資料庫,因此彈性集區可簡化您的管理工作,並為集區提供可預測的預算。
您可以透過最少的資料庫停機時間,將更多 eDTU 新增至現有的集區。 同樣地,如果您不再需要額外的 eDTU,可隨時從現有的集區中將其移除。 您也可以隨時在集區中新增或移除資料庫。 若要為其他資料庫保留 eDTU,請限制 eDTU 資料庫在重度負載下可使用的數目。 如果某個資料庫的資源使用率持續偏高,影響了集區中其他的資料庫,請將該資料庫從集區中移出,並將其設為必要資源量可預測的單一資料庫。
能受益於彈性資源集區的工作負載
集區非常適合資源使用率平均較低且使用率尖峰相對不頻繁的資料庫。 如需詳細資訊,請參閱何時應該考慮 SQL Database 彈性集區?。
判斷工作負載所需的 DTU 數目
如果您想要將現有的內部部署或 SQL Server 虛擬機器工作負載移轉至 SQL Database,請參閱 SKU 建議以估計所需的 DTU 數目。 對於現有的 SQL Database 工作負載,使用查詢效能深入解析來了解您的資料庫資源使用量 (DTU),並深入了解如何將工作負載最佳化。 sys.dm_db_resource_stats 動態管理檢視 (DMV) 讓您可以檢視最近一小時的資源耗用量。 sys.resource_stats 目錄檢視會顯示最近 14 天的資源耗用量,不過會以精確度較低的五分鐘平均值來表示。
判斷 DTU 使用率
若要判斷 DTU/eDTU 使用率相對於資料庫或彈性集區 DTU/eDTU 限制的平均百分比,請使用下列公式:
avg_dtu_percent = MAX(avg_cpu_percent, avg_data_io_percent, avg_log_write_percent)
此公式的輸入值可取自 sys.dm_db_resource_stats、sys.resource_stats 和 sys.elastic_pool_resource_stats DMV。 換句話說,若要判斷 DTU/eDTU 使用率相對於資料庫或彈性集區 DTU/eDTU 限制的百分比,請從下列選項中挑選在指定時間點的最大百分比值:avg_cpu_percent
、avg_data_io_percent
及 avg_log_write_percent
。
注意
資料庫的 DTU 限制取決於資料庫可用的 CPU、讀取、寫入和記憶體。 不過,因為 SQL Database 引擎通常會將所有可用的記憶體用於其資料快取以改善效能,所以不論目前的資料庫負載為何,此 avg_memory_usage_percent
值通常會接近 100%。 因此,即使記憶體間接影響 DTU 限制,也不會用於 DTU 使用率公式中。
硬體組態
在以 DTU 為基礎的購買模型中,客戶無法選擇用於其資料庫的硬體設定。 雖然指定的資料庫通常會在特定類型的硬體上停留很長的一段時間 (通常為數月),但某些事件可能會導致資料庫移至不同的硬體。
例如,如果將資料庫擴大或縮小至不同的服務目標,或是資料中心內目前的基礎結構已接近其容量限制,或是目前使用的硬體因為生命週期結束而解除委任,則可以將資料庫移至不同的硬體。
如果將資料庫移至不同的硬體,工作負載效能可能會改變。 DTU 模型保證在資料庫移至不同的硬體類型時,只要其服務目標 (DTU 數目) 維持不變,DTU 基準工作負載的輸送量和回應時間大致上會是相同的。
不過,在 Azure SQL Database 中執行的各種客戶工作負載中,對於相同服務目標使用不同硬體的影響可能更加明顯。 不同的工作負載可能會受益於不同的硬體設定和功能。 因此,針對 DTU 基準以外的工作負載,如果資料庫從一種類型的硬體移至另一種,就可能會看到效能差異。
客戶可以使用虛擬核心模型,在資料庫建立和調整期間選擇其偏好的硬體設定。 在虛擬核心模型中,會針對單一資料庫和彈性集區記錄每個硬體設定中每個服務目標的詳細資源限制。 如需虛擬核心模型中硬體的詳細資訊,請參閱 SQL Database 的硬體設定或 SQL 受控執行個體的硬體設定。
比較服務層級
服務層級的選擇主要視業務持續性、儲存體和效能需求而定。
基本 | Standard | Premium | |
---|---|---|---|
目標工作負載 | 開發與生產 | 開發與生產 | 開發與生產 |
執行時間 SLA | 99.99% | 99.99% | 99.99% |
備份 | 選擇異地備援、區域備援或本地備援備份儲存體,保留 1-7 天(預設為 7 天) 長期保留最長達 10 年 |
選擇異地備援、區域備援或本地備援備份儲存體,保留 1-35 天(預設為 7 天) 長期保留最長達 10 年 |
選擇本地備援 (LRS)、區域備援 (ZRS), 或異地備援 (GRS) 儲存體 1-35 天 (預設 7 天) 保留,最長達 10 年的長期保留 |
CPU | 低 | 低、中、高 | 中、高 |
IOPS (約略)* | 每一 DTU 有 1-4 IOPS | 每一 DTU 有 1-4 IOPS | >每一 DTU 有 25 IOPS |
IO 延遲 (大約) | 5 毫秒 (讀取),10 毫秒 (寫入) | 5 毫秒 (讀取),10 毫秒 (寫入) | 2 毫秒 (讀取/寫入) |
資料行存放區索引 | N/A | 標準 S3 和更新版本 | 支援 |
記憶體內部 OLTP | N/A | N/A | 支援 |
* 針對資料檔案的所有讀取和寫入 IOPS,包括背景 IO(檢查點和延遲寫入器)。
重要
基本、S0、S1 和 S2 服務目標提供的虛擬核心 (CPU) 不到一個。 針對需要大量 CPU 的工作負載,建議服務目標為 S3 或更高。
在基本、S0 和 S1 服務目標中,資料庫檔案會儲存在 Azure 標準儲存體中,使用硬碟 (HDD) 型儲存媒體。 這些服務目標最適合用於開發、測試及其他較不容易受效能變異影響的不常存取工作負載。
提示
若要查看資料庫或彈性集區的實際資源管控限制,請查詢 sys.dm_user_db_resource_governance 檢視。 針對單一資料庫,會傳回一個資料列。 針對彈性集區中的資料庫,會針對集區中的每個資料庫傳回一個資料列。
注意
您可以使用 Azure 免費帳戶,在基本服務層級取得 Azure SQL Database 中的免費資料庫。 如需相關資訊,請參閱使用您的免費 Azure 免費帳戶,建立受管理的雲端資料庫。
資源限制
單一資料庫和集區資料庫的資源限制不同。
單一資料庫儲存體限制
在 Azure SQL Database 中,計算大小會以單一資料庫的資料庫交易單位 (DTU) 和彈性資料庫交易單位 (eDTU) 表示彈性集區。 若要深入了解,請參閱單一資料庫的資源限制。
基本 | Standard | Premium | |
---|---|---|---|
儲存體大小上限 | 2 GB | 1 TB | 4 TB |
DTU 上限 | 5 | 3000 | 4000 |
重要
在某些情況下,您可能需要壓縮資料庫來回收未使用的空間。 如需詳細資訊,請參閱管理 Azure SQL Database 中的檔案空間。
彈性集區限制
若要深入了解,請參閱集區資料庫的資源限制。
基本 | Standard | 高級 | |
---|---|---|---|
每個資料庫的儲存體大小上限 | 2 GB | 1 TB | 1 TB |
每個集區的儲存體大小上限 | 156 GB | 4 TB | 4 TB |
每個資料庫的 eDTU 上限 | 5 | 3000 | 4000 |
每個集區的 eDTU 上限 | 1600 | 3000 | 4000 |
每個集區的資料庫數目上限 | 500 | 500 | 100 |
重要
進階階層中有超過 1 TB 的儲存體目前可供中國東部、中國北部、德國中部和德國東北部除外的所有區域使用。 在這些區域中,進階層中的儲存空間上限為 1 TB。 如需詳細資訊,請參閱 P11-P15 目前的限制。
重要
在某些情況下,您可能需要壓縮資料庫來回收未使用的空間。 如需詳細資訊,請參閱管理 Azure SQL Database 中的檔案空間。
DTU 基準測試
我們會使用模擬現實資料庫工作負載的基準,來校準與每個 DTU 量值相關聯的實體特性 (CPU、記憶體、IO)。
了解與 DTU 基準相關聯的結構描述、使用的交易類型、工作負載混合、使用者和步調、調整規則以及計量。
比較以 DTU 為基礎的購買模型和虛擬核心購買模型
相較於以 DTU 為基礎的購買模型是以計算、儲存體和 I/O 資源的配套量值為基礎,Azure SQL Database 的虛擬核心購買模型可讓您獨立選擇和調整計算和儲存體資源。
以虛擬核心為基礎的購買模型也可讓您針對 SQL Server 使用 Azure Hybrid Benefit 來節省成本,並為以 DTU 為基礎的購買模型中無法使用的 Azure SQL Database,提供無伺服器和超大規模資料庫選項。
深入了解比較 Azure SQL Database 以虛擬核心為基礎的購買模型和以 DTU 為基礎的購買模型。
後續步驟
在下列文章中深入了解購買模型和相關概念:
- 如需特定計算大小的詳細資訊和單一資料庫可用的儲存體大小選項,請參閱單一資料庫 SQL Database 以 DTU 為基礎的資源限制。
- 如需特定計算大小的詳細資訊和彈性集區可用的儲存體大小選項,請參閱 SQL Database 以 DTU 為基礎的資源限制。
- 如需與以 DTU 為基礎的購買模型相關聯的基準資訊,請參閱 DTU 基準。
- 比較 Azure SQL Database 以虛擬核心為基礎的購買模型和以 DTU 為基礎的購買模型。