

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

# Amazon RDS 資料庫執行個體儲存體
<a name="CHAP_Storage"></a>

Amazon RDS for Db2、MariaDB、MySQL、PostgreSQL、Oracle 和 Microsoft SQL Server 的資料庫執行個體使用 Amazon Elastic Block Store (Amazon EBS) 磁碟區進行資料庫與日誌儲存

在某些情況下，您的資料庫工作負載可能無法達到佈建 IOPS 的 100%。如需詳細資訊，請參閱[影響資料庫效能的因素](#CHAP_Storage.Other.Factors)。

如需執行個體儲存體定價的詳細資訊，請參閱 [Amazon RDS 定價](https://aws.amazon.com/rds/pricing/)。

**Topics**
+ [Amazon RDS 儲存類型](#Concepts.Storage)
+ [佈建 IOPS SSD 儲存體](#USER_PIOPS)
+ [一般用途 SSD 儲存體](#Concepts.Storage.GeneralSSD)
+ [固態硬碟 (SSD) 儲存體類型的效能特性](#storage-comparison)
+ [磁性儲存 （舊版，不建議）](#CHAP_Storage.Magnetic)
+ [其他儲存磁碟區](#Welcome.AdditionalStorageVolumes)
+ [專用日誌磁碟區 (DLV)](#CHAP_Storage.dlv)
+ [監控資料庫效能](#Concepts.Storage.Metrics)
+ [影響資料庫效能的因素](#CHAP_Storage.Other.Factors)

## Amazon RDS 儲存類型
<a name="Concepts.Storage"></a>

Amazon RDS 提供三種儲存體類型：佈建 IOPS SSD (也稱為 io1 和 io2 Block Express)、一般用途 SSD (也稱為 gp2 和 gp3)，以及磁帶 (也稱為標準)。各類型的效能特性和價格不盡相同，這可讓您量身打造符合您資料庫工作負載需求的儲存效能及成本。您可以建立 Db2、MySQL、MariaDB 和 PostgreSQL RDS 資料庫執行個體，具有高達 64 TB (TiB) 的儲存體。您可以使用最多 256 TiB 的儲存體和其他儲存磁碟區來建立 Oracle 和 SQL Server 執行個體。如需詳細資訊，請參閱 [其他儲存磁碟區](#Welcome.AdditionalStorageVolumes)。RDS for Db2 不支援 gp2 和磁帶儲存類型。

以下清單簡要描述這三種儲存體類型：
+ **佈建 IOPS SSD** – 佈建 IOPS 儲存體的設計符合輸入/輸出密集工作負載的需求，特別是低延遲要求和一致性輸入/輸出輸送量的資料庫工作負載。佈建 IOPS 儲存體最適合於生產環境。

  如需佈建 IOPS 儲存體的詳細資訊 (包括儲存體大小範圍)，請參閱 [佈建 IOPS SSD 儲存體](#USER_PIOPS)。
+ **一般用途 SSD** – 一般用途 SSD 磁碟區提供經濟實惠的儲存體，非常適合於在中型資料庫執行個體上執行的廣泛工作負載。一般用途儲存體最適用於開發與測試環境。

  如需一般用途 SSD 儲存體的詳細資訊 (包括儲存體大小範圍)，請參閱 [一般用途 SSD 儲存體](#Concepts.Storage.GeneralSSD)。
+ **磁性** – Amazon RDS 也支援磁帶儲存，以提供回溯相容性。建議您針對任何新的儲存需求，使用一般用途 SSD 或佈建 IOPS SSD。磁帶儲存的資料庫執行個體最大儲存量為 3 TiB。如需詳細資訊，請參閱[磁性儲存 （舊版，不建議）](#CHAP_Storage.Magnetic)。

## 佈建 IOPS SSD 儲存體
<a name="USER_PIOPS"></a>

對於需要快速且一致 I/O 效能的生產應用程式，我們建議佈建 IOPS 儲存體。佈建 IOPS 儲存體是一種提供可預測效能與一致性低延遲的儲存體類型。佈建 IOPS 儲存體已針對線上交易處理 (OLTP) 工作負載進行最佳化，這些工作負載需要一致的效能。佈建 IOPS 可協助進行這些工作負載的效能調校。

Amazon RDS 提供兩種類型的佈建 IOPS SSD 儲存：io2 和 io1。建立資料庫執行個體時，您可以指定 IOPS 速率和磁碟區的大小。Amazon RDS 會為資料庫執行個體提供該 IOPS 費率，直到您對其進行變更。

**Topics**
+ [io2 Block Express 儲存體 (建議)](#USER_PIOPS.io2)
+ [io1 儲存體 (上一代)](#USER_PIOPS.io1)
+ [將佈建 IOPS 儲存體與異地同步備份部署或僅供讀取複本結合](#Overview.ProvisionedIOPS-support)
+ [佈建 IOPS 儲存體成本](#Overview.ProvisionedIOPS-cost)
+ [從 Amazon RDS 佈建 IOPS 儲存體取得最佳效能](#Overview.ProvisionedIOPS.gettingthemostoutofpiops)

### io2 Block Express 儲存體 (建議)
<a name="USER_PIOPS.io2"></a>

對於 I/O 密集型和延遲敏感工作負載，建議您使用佈建 IOPS SSD io2 Block Express 儲存體，以達到每秒高達 256,000 個 I/O 操作 (IOPS)。io2 Block Express 磁碟區的輸送量會根據每個磁碟區佈建的 IOPS 數量，以及要執行的 I/O 操作大小而有所不同。

所有以 AWS Nitro 系統為基礎的 RDS io2 磁碟區都是 io2 Block Express 磁碟區，並提供低於毫秒的平均延遲。非以 AWS Nitro 系統為基礎的資料庫執行個體是 io2 磁碟區。

下表顯示每個資料庫引擎和儲存大小範圍的佈建 IOPS 範圍和每個儲存磁碟區的最大輸送量。在 Amazon RDS for Oracle 和 SQL Server 中，除了主要儲存磁碟區之外，您還可以連接最多三個額外的儲存磁碟區，以佈建總計高達 256 TiB 的儲存體大小。使用額外的儲存磁碟區，您可以為資料庫執行個體擁有更高的佈建 IOPS 和最大輸送量。不過，如果您的執行個體類別的限制低於您為儲存磁碟區佈建的值，您的資料庫執行個體可能無法充分利用佈建的 IOPS 和最大輸送量。如需詳細資訊，請參閱[影響資料庫效能的因素](#CHAP_Storage.Other.Factors)。


| 資料庫引擎 | 儲存體大小範圍 | 佈建 IOPS 範圍 | 最大輸送量 | 
| --- | --- | --- | --- | 
| Db2、MariaDB、MySQL 和 PostgreSQL | 100–65,536 GiB | 1,000–256,000 IOPS | 16,000 MiB/s | 
| Oracle | 100–199 GiB | 1,000–199,000 IOPS | 4,000 MiB/s | 
| Oracle | 200–65,536 GiB | 1,000–256,000 IOPS | 16,000 MiB/s | 
| SQL Server | 20–65,536 GiB | 1,000–256,000 IOPS | 4,000 MiB/s | 

IOPS 和儲存大小範圍有下列限制：
+ IOPS 與配置儲存 (以 GiB 為單位) 的比率必須介於 0.5 到 1,000 之間。對於不是以 AWS Nitro 系統為基礎的資料庫執行個體，比率必須介於 0.5–500 之間。
+ 可以透過大小為 256 GiB 或更大的磁碟區佈建最大 IOPS (1,000 IOPS × 256 GiB = 256,000 IOPS)。對於非以 AWS Nitro 系統為基礎的資料庫執行個體，達到的最大 IOPS 為 512 GiB (500 IOPS x 512 GiB = 256,000 IOPS)。
+ 輸送量可按比例擴展至每個佈建 IOPS 0.256 MiB/s。16-KiB I/O 大小為 256,000 IOPS，256-KiB I/O 大小為 16,000 IOPS 或更高時，可達到每秒 4,000 MiB 的最大輸送量。對於非以 AWS Nitro 系統為基礎的資料庫執行個體，在 128，000 IOPS 和 16-KiB I/O 大小的情況下，可以達到每秒 2，000 MiB 的最大輸送量。 16-KiB 
+ 如果您使用的是儲存體自動調整規模，則 IOPS 和儲存體閾值上限之間的比率 (以 GiB 為單位) 同樣適用。如需儲存體自動調整規模的詳細資訊，請參閱 [使用 Amazon RDS 儲存體自動擴展自動管理容量](USER_PIOPS.Autoscaling.md)。

Amazon RDS io2 Block Express 磁碟區適用於所有商業 AWS 區域 和 AWS GovCloud (US) Regions。這些磁碟區不適用於中國區域。

### io1 儲存體 (上一代)
<a name="USER_PIOPS.io1"></a>

對於 I/O 密集型工作負載，您可以使用佈建 IOPS SSD io1 儲存體，並達成每秒高達 256,000 個 I/O 操作 (IOPS)。io1 磁碟區的輸送量會根據每個磁碟區佈建的 IOPS 數量，以及要執行的 I/O 操作大小而有所不同。建議您在可用時使用 io2 Block Express 儲存體。

下表顯示了佈建 IOPS 的範圍，以及每個資料庫引擎和儲存體大小範圍的最大輸送量。


| 資料庫引擎 | 儲存體大小範圍 | 佈建 IOPS 範圍 | 最大輸送量 | 
| --- | --- | --- | --- | 
| Db2、MariaDB、MySQL 和 PostgreSQL | 100–399 GiB | 1,000–19,950 IOPS | 500 MiB/s | 
| Db2、MariaDB、MySQL 和 PostgreSQL | 400–65,536 GiB | 1,000–256,000 IOPS | 4,000 MiB/s | 
| Oracle | 100–199 GiB | 1,000–9,950 IOPS | 500 MiB/s | 
| Oracle | 200–65,536 GiB | 1,000–256,000 IOPS¹ | 4,000 MiB/s | 
| SQL Server | 20–16,384 GiB | 1,000–64,000 IOPS² | 1,000 MiB/s | 

**注意**  
¹ 對於 Oracle，您只能在 r5b 執行個體類型上佈建 256,000 的 IOPS 上限。  
² 對於 SQL Server，僅 m5\$1、m6i、r5\$1、r6i 和 z1d 執行個體類型的 [Nitro 型執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances)才能保證達到 64,000 的 IOPS 上限。其他執行個體類型的保證效能最高只到 32,000 IOPS。

IOPS 和儲存大小範圍有下列限制：
+ IOPS 與配置儲存 (以 GiB 為單位) 的比率，針對 RDS for SQL Server 必須從 1 至 50，而針對其他 RDS 資料庫引擎則必須從 0.5 至 50。
+ 如果您使用的是儲存體自動調整規模，則 IOPS 和儲存體閾值上限之間的比率 (以 GiB 為單位) 同樣適用。

  如需儲存體自動調整規模的詳細資訊，請參閱 [使用 Amazon RDS 儲存體自動擴展自動管理容量](USER_PIOPS.Autoscaling.md)。

### 將佈建 IOPS 儲存體與異地同步備份部署或僅供讀取複本結合
<a name="Overview.ProvisionedIOPS-support"></a>

針對生產環境 OLTP 使用案例，建議您使用異地同步備份部署，透過佈建 IOPS 儲存體強化容錯能力，提供快速且可預期的效能。

您也可以為 MySQL、MariaDB 或 PostgreSQL 使用佈建 IOPS 儲存體搭配僅供讀取複本。僅供讀取複本的儲存體類型是獨立於主要資料庫執行個體之外的。例如，您可能將一般用途 SSD 用於主要資料庫執行個體的僅供讀取複本，且該資料庫執行個體使用了佈建 IOPS SSD 儲存體來減少成本。但在此案例中，您的僅供讀取複本效能，可能與都使用佈建 IOPS 儲存體的主要資料庫執行個體和僅供讀取複本組態不同。

### 佈建 IOPS 儲存體成本
<a name="Overview.ProvisionedIOPS-cost"></a>

若使用佈建 IOPS 儲存體，不論您是否在特定月分中使用這些佈建的資源，都會被計費。

如需定價的詳細資訊，請參閱 [Amazon RDS 定價](https://aws.amazon.com/rds/pricing/)。

### 從 Amazon RDS 佈建 IOPS 儲存體取得最佳效能
<a name="Overview.ProvisionedIOPS.gettingthemostoutofpiops"></a>

如果您的工作負載受輸入/輸出限制，使用佈建 IOPS 儲存體可以提升系統目前所能處理的輸入/輸出請求數量。由於佇列中的輸入/輸出請求耗費的時間較少，因此增加的並行數量可降低延遲。降低的延遲加快了資料庫遞交，這改善了回應時間也提升了資料庫傳輸量。

佈建 IOPS 儲存體透過指定 IOPS，提供了保留輸入/輸出容量的一種方式。但是，與任何其他系統容量屬性一樣，它在負載下的最大傳輸量，受限於最先消耗的資源。該資源可能是網路頻寬、CPU、記憶體或資料庫內部資源。

## 一般用途 SSD 儲存體
<a name="Concepts.Storage.GeneralSSD"></a>

一般用途儲存體提供經濟實惠的儲存體，而大多數對延遲或效能不敏感的資料庫工作負載都可接受此儲存體。

**注意**  
使用一般用途儲存的資料庫執行個體可能會遇到比使用佈建 IOPS 儲存的執行個體更長的延遲。如果您需要在這些操作之後延遲最小的資料庫執行個體，建議您使用[佈建 IOPS SSD 儲存體](#USER_PIOPS)。

Amazon RDS 提供兩種類型的一般用途儲體：[gp3 儲存體 (建議)](#gp3-storage) 和 [gp2 儲存體 (上一代)](#gp2-storage)。

### gp3 儲存體 (建議)
<a name="gp3-storage"></a>

透過使用一般用途 gp3 儲存磁碟區，您可以獨立於儲存容量自訂儲存效能。*儲存體效能*是每秒 I/O 操作數 (IOPS) 的組合，以及儲存磁碟區可以多快執行讀取和寫入 (儲存體輸送量)。在 gp3 儲存磁碟區上，Amazon RDS 提供 3000 IOPS 和 125 MiB/秒的基準儲存效能。

對於除了 RDS for SQL Server 之外的每個 RDS 資料庫引擎，當 gp3 磁碟區的儲存體大小達到特定臨界值時，基準儲存體效能就會增加。這是因為*磁碟區分割*，其中儲存體會使用四個磁碟區，而不是一個磁碟區。RDS for SQL Server 不支援磁碟區分割，因此沒有閾值。對於條帶磁碟區，Amazon RDS 提供 12,000 IOPS 和 500 MiB/秒的基準儲存效能。

下表顯示 Amazon RDS 資料庫引擎上 gp3 磁碟區的儲存效能，包括每個儲存磁碟區的閾值。在 RDS for Oracle 和 SQL Server 中，除了主要儲存磁碟區之外，您還可以連接最多三個額外的儲存磁碟區。您可以在 RDS for Oracle 中佈建最多 256 TiB 儲存大小，以及三個額外的 gp3 儲存磁碟區。您可以在 RDS for SQL Server 中佈建最多 64 TiB 的儲存體大小，以及三個額外的 gp3 儲存體磁碟區，因為每個 gp3 儲存體磁碟區的大小最多可達 16 TiB。使用額外的儲存磁碟區，您可以為資料庫執行個體擁有更高的佈建 IOPS 和最大輸送量。不過，如果您的執行個體類別的限制低於您為儲存磁碟區佈建的值，您的資料庫執行個體可能無法充分利用佈建的 IOPS 和最大輸送量。如需詳細資訊，請參閱[影響資料庫效能的因素](#CHAP_Storage.Other.Factors)。


| 資料庫引擎 | 儲存體大小 | 基準儲存體效能 | 佈建 IOPS 範圍 | 佈建儲存體輸送量的範圍 | 
| --- | --- | --- | --- | --- | 
| Db2、MariaDB、MySQL 和 PostgreSQL | 20–399 GiB | 3,000 IOPS/125 MiB/秒 | N/A | N/A | 
| Db2、MariaDB、MySQL 和 PostgreSQL | 400–65,536 GiB | 12,000 IOPS/500 MiB/秒 | 12,000–64,000 IOPS | 500–4,000 MiB/秒 | 
| Oracle | 20–199 GiB | 3,000 IOPS/125 MiB/秒 | N/A | N/A | 
| Oracle | 200–65,536 GiB  | 12,000 IOPS/500 MiB/秒 | 12,000–64,000 IOPS | 500–4,000 MiB/秒 | 
| SQL Server | 20–16,384 GiB | 3,000 IOPS/125 MiB/秒 | 3,000–16,000 IOPS | 125–1,000 MiB/秒 | 

對於 RDS for SQL Server 以外的每個資料庫引擎，當儲存體大小等於或高於閾值時，您都可以佈建額外的 IOPS 和儲存體輸送量。對於 RDS for SQL Server，您可以針對任何可用的儲存體大小佈建額外的 IOPS 和儲存體輸送量。對於所有資料庫引擎，您只需支付額外佈建的儲存體效能。如需詳細資訊，請參閱 [Amazon RDS 定價](https://aws.amazon.com/rds/pricing/)。

雖然新增的佈建 IOPS 和儲存體輸送量不取決於儲存體大小，但它們彼此相關。當您針對 MariaDB 和 MySQL 將 IOPS 提高到 32,000 以上時，儲存體輸送量值會自動從 500 Mbps 增加。例如，當您在 RDS for MySQL 上將 IOPS 設為 40,000 時，儲存體輸送量必須至少 625 MiBps。對於 Db2、Oracle、PostgreSQL 和 SQL Server 資料庫執行個體，自動增加不會發生。

對於多可用區域資料庫叢集，Amazon RDS 會根據您佈建的 IOPS 自動設定輸送量值。您無法修改輸送量值。

RDS 上 gp3 磁碟區的儲存體效能值具有限制條件：
+ 對於所有支援的資料庫引擎，儲存體輸送量與 IOPS 的最大比率為 0.25。
+ 在 RDS for SQL Server 上，IOPS 與已配置儲存體 (以 GiB 為單位) 的最小比率為 0.5。其他支援的資料庫引擎沒有最小比率。
+ 對於所有支援的資料庫引擎，IOPS 與已配置儲存體的最大比率為 500。
+ 如果您使用的是儲存體自動調整規模，則 IOPS 和儲存體閾值上限之間的比率 (以 GiB 為單位) 同樣適用。

  如需儲存體自動調整規模的詳細資訊，請參閱 [使用 Amazon RDS 儲存體自動擴展自動管理容量](USER_PIOPS.Autoscaling.md)。

### gp2 儲存體 (上一代)
<a name="gp2-storage"></a>

當您的應用程式不需要高儲存效能時，您可以使用一般用途 SSD gp2 儲存體。gp2 儲存體的基準 I/O 效能為每 GiB 有 3 IOPS，下限為 100 IOPS。此關係表示磁碟區越大，效能越好。例如，一個 100 GiB 磁碟區的基準效能為 300 IOPS。一個 1,000 TiB 磁碟區的基準效能為 3,000 IOPS。

大小低於 1,000 GiB 的個別 gp2 磁碟區也擁有在一段延伸時間內爆增至 3,000 IOPS 的能力。磁碟區 I/O 額度餘額決定了爆量效能。如需基準效能與 I/O 額度餘額如何影響效能的更多詳細說明，請參閱 AWS 資料庫部落上的貼文[透過 Amazon RDS 和 GP2 了解爆量與基準效能](https://aws.amazon.com/blogs/database/understanding-burst-vs-baseline-performance-with-amazon-rds-and-gp2/)。

許多工作負載絕不會耗盡爆量餘額。然而，有些工作負載可能用盡 3,000 IOPS 的爆量儲存額度餘額，因此請規劃符合工作負載需求的儲存容量。

對於大於 4,000 GiB 的 gp2 磁碟區，基準效能大於爆量效能。對於這類磁碟區而言，爆量不相關，因為基準效能優於 3,000 IOPS 爆量效能。不過，對於特定引擎和大小的資料庫執行個體，儲存體會跨四個磁碟區進行*分割*，這會提供四倍的基準輸送量，以及單一磁碟的四倍爆量 IOPS。

下表顯示 Amazon RDS 資料庫引擎上各種儲存體大小的 gp2 磁碟區的儲存體效能。


| 資料庫引擎 | RDS 儲存體大小 | 基準 IOPS 的範圍 | 基準輸送量的範圍 | 爆量 IOPS | 
| --- | --- | --- | --- | --- | 
| MariaDB、MySQL 和 PostgreSQL | 5–399 GiB | 100-1197 IOPS | 128-250 MiB/秒 | 3,000 | 
| MariaDB、MySQL 和 PostgreSQL | 400–1,335 GiB  | 1,200-4,005 IOPS | 512-1,000 MiB/s | 12,000 | 
| MariaDB、MySQL 和 PostgreSQL | 1,336–3,999 GiB  | 4008-11,997 IOPS | 1,000 MiB/s | 12,000 | 
| MariaDB、MySQL 和 PostgreSQL | 4,000–65,536 GiB  | 12,000-64,000 IOPS | 1,000 MiB/s | N/A¹ | 
| Oracle | 20–199 GiB | 100-597 IOPS | 128-250 MiB/秒 | 3,000 | 
| Oracle | 200–1,335 GiB | 600-4,005 IOPS | 512-1,000 MiB/s | 12,000 | 
| Oracle | 1,336–3,999 GiB | 4008-11,997 IOPS | 1,000 MiB/s | 12,000 | 
| Oracle | 4,000–65,536 GiB | 12,000-64,000 IOPS | 1,000 MiB/s | N/A¹ | 
| SQL Server | 20–333 GiB | 100-999 IOPS | 128-250 MiB/秒 | 3,000 | 
| SQL Server | 334–999 GiB | 1,002-2,997 IOPS | 250 MiB/s | 3,000 | 
| SQL Server | 1,000–16,384 GiB | 3,000-16,000 IOPS | 250 MiB/s | N/A¹ | 

¹ 磁碟區基準效能超出最大爆量效能。

## 固態硬碟 (SSD) 儲存體類型的效能特性
<a name="storage-comparison"></a>

下表說明 Amazon RDS 所使用之 SSD 儲存磁碟區的使用案例和每個磁碟區效能特性。


| 特性 | 佈建 IOPS (io2 Block Express) | 佈建 IOPS (io1) | 一般用途 (gp3) | 一般用途 (gp2) | 
| --- | --- | --- | --- | --- | 
| Description |  RDS 儲存體產品組合中的最高效能 (IOPS、輸送量、延遲) 專為對延遲敏感的交易工作負載而設計  |  一致的儲存體效能 (IOPS、輸送量、延遲) 專為對延遲敏感的交易工作負載而設計  |  獨立佈建儲存體、IOPS 和輸送量的彈性 平衡各種交易工作負載的價格效能。  |  提供爆量 IOPS 平衡各種交易工作負載的價格效能。  | 
| 使用案例 |  商業關鍵交易工作負載，需要低於一毫秒的延遲和高達 256,000 IOPS 的持續 IOPS 效能  |  需要持續 IOPS 效能的交易工作負載，最高可達 256,000 IOPS  |  在開發/測試環境中於中型關聯式資料庫上執行的廣泛工作負載  |  在開發/測試環境中於中型關聯式資料庫上執行的廣泛工作負載  | 
| 延遲 |  低於一毫秒，在 99.9% 的時間內持續提供  |  個位數毫秒，在 99.9% 的時間內持續提供  |  個位數毫秒，在 99% 的時間內持續提供  |  個位數毫秒，在 99% 的時間內持續提供  | 
| 磁碟區大小 |  100–65,536 GiB  |  100–65,536 GiB (RDS for SQL Server 上 20–16,384 GiB)  |  20–65,536 GiB (RDS for SQL Server 上 16,384 GiB)  |  20–65,536 GiB (RDS for SQL Server 上 16,384 GiB)  | 
| 最大 IOPS |  256,000  |  256,000 (RDS for SQL Server 上 64,000)  |  64,000 (RDS for SQL Server 上 16,000)  |  64,000 (RDS for SQL Server 上 16,000)  您無法直接在 gp2 儲存體上佈建 IOPS。IOPS 會隨配置的儲存體大小而有所不同。   | 
| 最大輸送量 |  根據佈建 IOPS 進行擴展，最高 4,000 MB/s 輸送量可按比例擴展至每個佈建 IOPS 0.256 MiB/s。16-KiB I/O 大小為 256,000 IOPS，256-KiB I/O 大小為 16,000 IOPS 或更高時，可達到每秒 4,000 MiB 的最大輸送量。 對於非以 AWS Nitro 系統為基礎的執行個體，在 128，000 IOPS 和 16-KiB I/O 大小的情況下，可以達到每秒 2，000 MiB 的最大輸送量。 16-KiB   |  根據佈建 IOPS 進行擴展，最高 4,000 MB/s  |  佈建最高 4,000 MB/秒的額外輸送量，其中 1000 MB/秒在 RDS for SQL Server 上  |  1000 MB/s (RDS for SQL Server 上 250 MB/s)  | 
| AWS CLI 和 RDS API 名稱 | io2 | io1 | gp3 | gp2 | 



### 跨 SSD 磁碟區自動分割
<a name="ssd-striping"></a>

當您選取一般用途 SSD 或佈建 IOPS SSD 時，根據選取的引擎和請求的儲存容量，Amazon RDS 會自動跨多個磁碟區進行分割以增強效能，如下表所示。


| 資料庫引擎 | Amazon RDS 儲存體大小 | 已佈建的磁碟區數量 | 
| --- | --- | --- | 
| Db2 | 低於 400 GiB | 1 | 
| Db2 | 400–65,536 GiB | 4 | 
| MariaDB、MySQL 和 PostgreSQL | 低於 400 GiB | 1 | 
| MariaDB、MySQL 和 PostgreSQL | 400–65,536 GiB | 4 | 
| Oracle | 低於 200 GiB | 1 | 
| Oracle | 200–65,536 GiB | 4 | 
| SQL Server | 任何 | 1 | 

### 修改 SSD 磁碟區時的效能影響
<a name="ssd-volume-mod"></a>

當您修改一般用途 SSD 或佈建 IOPS SSD 磁碟區時，它會經歷一連串狀態。磁碟區進入 `optimizing` 狀態時，磁碟區的效能介於來源和目標組態規格之間。轉換磁碟區效能不會少於兩種規格的較低者。

當您修改執行個體的儲存體，以便其從一個磁碟區變為四個磁碟區時，或當使用磁性儲存體修改執行個體時，Amazon RDS 不會使用彈性磁碟區功能。反之，Amazon RDS 會佈建新磁碟區，並以透明方式將資料從舊磁碟區移至新磁碟區。此操作會耗用舊磁碟區和新磁碟區兩者的大量 IOPS 和輸送量。根據磁碟區的大小和修改期間存在的資料庫工作負載量，此操作可能會耗用大量 IOPS、大幅增加 I/O 延遲，並且需要數小時才能完成，而 RDS 執行個體仍處於 `Modifying` 狀態。

### EBS 最佳化執行個體的基準和最高 IOPS 速率。
<a name="baseline-max-iops-rate"></a>

EBS 最佳化執行個體具有基準和最高 IOPS 速率。最高 IOPS 速率會在資料庫執行個體層級強制執行。總 IOPS 速率高於最大值的 EBS 磁碟區不能超過執行個體層級閾值。例如，如果特定資料庫執行個體類別的最大 IOPS 為 40,000，且您連線了四個 64,000 IOPS EBS 磁碟區，則最大 IOPS 為 40,000，而非 256,000。如需了解每個 EC2 執行個體類型特有的 IOPS 上限，請參閱《Amazon EC2 Linux 執行個體使用者指南》**中的[受支援執行個體類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html#ebs-optimization-support)。

## 磁性儲存 （舊版，不建議）
<a name="CHAP_Storage.Magnetic"></a>

Amazon RDS 也支援磁帶儲存，以提供回溯相容性。建議您針對任何新的儲存需求，使用一般用途 SSD 或佈建 IOPS SSD。下列為磁性儲存體的一些限制：
+ 不允許在使用 SQL Server 資料庫引擎時擴展儲存體。
+ 不允許您在使用 SQL Server 資料庫引擎時轉換為不同的儲存類型。
+ 不支援儲存體自動擴展。
+ 不支援與 Amazon Redshift 進行零 ETL 整合。
+ 不支援彈性磁碟區。
+ 限制大小為 3 TiB 以下。
+ 限制為 1,000 IOPS 以下。

## 其他儲存磁碟區
<a name="Welcome.AdditionalStorageVolumes"></a>

使用 RDS for Oracle 和 RDS for SQL Server，您最多可以將三個額外的儲存磁碟區連接至資料庫執行個體。根據您的工作負載需求，為每個磁碟區選擇 gp3 和 io2 儲存。

其他儲存磁碟區提供下列優點：
+ **彈性儲存組態和效能最佳化** – 混合不同的儲存類型 (gp3 和 io2)，根據您的資料存取模式來最佳化成本和效能。將高效能 io2 儲存體上的經常存取資料與經濟實惠的 gp3 儲存體上的封存資料分開。
+ **增強容量** – 透過結合主要和額外儲存磁碟區，將每個資料庫執行個體的總儲存體擴展到 256 TiB。
+ **視需要擴展和減少儲存容量** – 當您需要額外儲存時建立磁碟區，例如在資料遷移期間，然後刪除磁碟區。透過這種方式，您可以擴展和減少總資料庫執行個體儲存體。
+ **線上資料移動** – 使用 Oracle Database 的內建功能，在不停機的情況下在磁碟區之間移動資料。

**注意**  
您可以移除其他儲存磁碟區，但無法移除主要磁碟區。

其他磁碟區必須使用下表所示的磁碟區名稱。


| RDS for Oracle 磁碟區名稱 | RDS for SQL Server 磁碟區名稱 | 
| --- | --- | 
| rdsdbdata2 | H: | 
| rdsdbdata3 | I: | 
| rdsdbdata4 | J: | 

如需使用其他儲存磁碟區的詳細資訊，請參閱下列各節：
+ [使用適合 Amazon RDS 資料庫執行個體的儲存體](USER_PIOPS.StorageTypes.md)
+ [在 RDS for Oracle 中使用儲存](User_Oracle_AdditionalStorage.md)
+ [在 RDS for SQL Server 中使用儲存](Appendix.SQLServer.CommonDBATasks.DatabaseStorage.md)

## 專用日誌磁碟區 (DLV)
<a name="CHAP_Storage.dlv"></a>

您可以使用 Amazon RDS 主控台或 Amazon RDS API AWS CLI，針對使用佈建 IOPS (PIOPS) 儲存體的資料庫執行個體使用專用日誌磁碟區 (DLV)。DLV 會將 PostgreSQL 資料庫交易日誌和 MySQL/MariaDB 重做日誌與二進位日誌移至與包含資料庫資料表的磁碟區不同的儲存體磁碟區。DLV 使交易寫入記錄更有效率且一致。DLV 非常適合具有大型配置儲存體、每秒高 I/O (IOPS) 需求或延遲敏感工作負載的資料庫。

PIOPS 儲存體 (io1 和 io2 Block Express) 支援 DLV，這些 DLV 是使用固定大小 1,024 GiB 和 3,000 個佈建 IOPS 建立的。

**注意**  
一般用途儲存體 (gp2 和 gp3) 不支援 DLV。

Amazon RDS 在 AWS 區域 下列版本中支援所有 中的 DLVs：
+ MariaDB 10.6.7 和更新的 10 版本
+ MySQL 8.0.28 和更高的 8.0 版本，MySQL 8.4.3 和更高的 8.4 版本
+ PostgreSQL 13.10 和更新的第 13 版、14.7 和更新的第 14 版、15.2 和更新的第 15 版，以及 16.1 和更新的第 16 版

RDS 支援 DLV 搭配多可用區部署。修改或建立多可用區執行個體時，會同時為主要和次要執行個體建立 DLV。

RDS 支援 DLV 搭配僅供讀取複本。如果主要資料庫執行個體已啟用 DLV，則在啟用 DLV 之後建立的所有僅供讀取複本也將具有 DLV。在切換到 DLV 之前建立的任何僅供讀取複本將不會啟用它，除非明確修改為要這樣做。建議在啟用 DLV 之前附加至主要執行個體的所有僅供讀取複本，您也須將其手動修改為具有 DLV。

在修改資料庫執行個體的 DLV 設定之後，必須重新啟動資料庫執行個體。

如需如何啟用 DLV 的詳細資訊，請參閱 [使用專用日誌磁碟區 (DLV)](USER_PIOPS.dlv.md)。

## 監控資料庫效能
<a name="Concepts.Storage.Metrics"></a>

Amazon RDS 提供了您可以用來判斷資料庫執行個體執行情形的數種指標。您可以在 Amazon RDS 管理主控台中檢視執行個體摘要頁面中的指標。您也可以使用 Amazon CloudWatch 來監控這些指標。如需更多詳細資訊，請參閱 [在 Amazon RDS 主控台中檢視指標](USER_Monitoring.md)。強化的監控提供了更詳細的輸入/輸出指標，如需更多資訊，請參閱 [使用增強型監控來監控作業系統指標](USER_Monitoring.OS.md)。

以下指標在監控資料庫執行個體的效能時很有幫助：
+ `DiskQueueDepth` – 佇列中待處理的輸入/輸出請求數量。這些是已由應用程式提交的輸入/輸出請求，但尚未傳送至裝置，因為該裝置正在忙於處理其他輸入/輸出請求。佇列中耗費的等待時間為延遲和服務時間的元件 (不做為指標)。此指標會報告為指定時間間隔的平均佇列深度。Amazon RDS 每隔一分鐘回報佇列深度。一般而言，佇列深度的數值在 0 至數百之間。
+ `EBSByteBalance%` – RDS 資料庫高載儲存貯體中剩餘輸送量額度的百分比。只有基本監控才提供此指標。指標值是以所有磁碟區 (包括根磁碟區) 的輸送量為基礎，而非僅以包含資料庫檔案的那些磁碟區為基礎。

  當此指標接近零時，表示您的資料庫執行個體運算容量不足。如果定期發生這種情況，請考慮升級至較大的執行個體類別大小，例如從 db.r6g.large 升級至 db.r6g.xlarge。如需詳細資訊，請參閱[DB instance class (資料庫執行個體類別)](#other-factors-instance)。
+ `ReadIOPS` 和 `WriteIOPS` –每秒完成的輸入/輸出操作數量。此指標會報告為指定時間間隔的平均 IOPS。Amazon RDS 會以 1 分鐘的間隔分別報告讀取和寫入 IOPS。`TotalIOPS` 是讀取和寫入 IOPS 的總和。一般而言，IOPS 範圍的數值在每秒 0 至數萬之間。

  如果您的 `TotalIOPS` 值定期接近您為資料庫執行個體設定的佈建 IOPS 值，請考慮增加佈建 IOPS (io1、io2 Block Express 和 gp3 儲存體類型)。

  測量的 IOPS 數值獨立於單獨輸入/輸出操作的大小之外。這代表當您測量輸入/輸出效能時，除了輸入/輸出操作數量之外，您也確定留意執行個體的輸送量。
+ `ReadLatency` 和 `WriteLatency` – 在輸入/輸出請求提交和完成之間的經過時間。此指標會報告為指定時間間隔的平均延遲。Amazon RDS 每隔一分鐘分別回報讀取與寫入延遲。一般而言，延遲數值以毫秒 (ms) 計算。
+ `ReadThroughput` 和 `WriteThroughput` – 每秒從磁碟傳出或傳入的位元組。此指標會報告為指定時間間隔的平均輸送量。Amazon RDS 使用每秒位元組單位 (B/s)，每隔一分鐘分別回報讀取與寫入輸送量。一般而言。傳輸量數值的範圍介於零到輸入/輸出通道的最大頻寬。

  如果您的輸送量值定期接近資料庫執行個體的最大輸送量，則如果您使用的是 gp3 儲存體類型，請考慮佈建更多儲存體輸送量。

## 影響資料庫效能的因素
<a name="CHAP_Storage.Other.Factors"></a>

系統活動、資料庫工作負載，和資料庫執行個體類別都會影響資料庫效能。

**Topics**
+ [系統活動](#other-factors-system)
+ [資料庫工作負載](#other-factors-workload)
+ [DB instance class (資料庫執行個體類別)](#other-factors-instance)

### 系統活動
<a name="other-factors-system"></a>

下列系統相關的活動會消耗輸入/輸出容量，並可能會在處理時降低資料庫執行個體效能：
+ 多可用區域待命建立
+ 僅供讀取複本的建立
+ 變更儲存類型

### 資料庫工作負載
<a name="other-factors-workload"></a>

在某些狀況下，您的資料庫或應用程式設計會導致並行數量問題、鎖定或其他形式的資料庫爭用。在這些情況中，您可能無法直接使用所有佈建的頻寬。此外，您有可能會遇到下列與工作負載相關的狀況：
+ 達到基礎執行個體類型的傳輸量上限。
+ 應用程式未驅動足夠的輸入/輸出操作，因此佇列深度一直小於 1。
+ 即使部分輸入/輸出容量處於未使用的狀態，資料庫仍發生查詢爭用情形。

在某些狀況下，並無系統資源達到或接近上限，且新增執行緒數量也不會增加資料庫交易處理速率。於此狀況下，瓶頸很可能是資料庫中的爭用。最常見的問題即為資料列鎖定和索引頁鎖定爭用，但還有許多其他可能原因。若遇到這種情況，您應該向資料庫效能調校專家尋求建議。

### DB instance class (資料庫執行個體類別)
<a name="other-factors-instance"></a>

若要讓 Amazon RDS 資料庫執行個體發揮最大效能，請選擇具有足夠頻寬和 IOPS 的新一代執行個體類型，以支援您的儲存類型。例如，您可選擇 Amazon EBS 最佳化執行個體，以及擁有 10 GB 網路連線能力的執行個體。

**重要**  
根據您使用的執行個體類別，相較於使用 RDS 佈建的最大值，您可能會看到較低的頻寬、輸送量和 IOPS 效能。如需資料庫執行個體類別頻寬、輸送量和 IOPS 效能的特定資訊，請參閱《[Amazon EC2 使用者指南》中的 Amazon EBS 最佳化執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html)。 *Amazon EC2 * 建議您先判斷執行個體類別的最大頻寬、輸送量和 IOPS，再為資料庫執行個體中的儲存磁碟區設定佈建 IOPS 和輸送量值。

建議您使用最新一代的執行個體，才能獲得最佳效能。上一代資料庫執行個體的最大儲存量可能較低。

某些較舊的 32 位元檔案系統的儲存容量可能較低。若要判斷資料庫執行個體的儲存容量，您可以使用 [describe-valid-db-instance-modifications](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-valid-db-instance-modifications.html) AWS CLI 命令。

下表顯示各資料庫執行個體類別的儲存上限可擴展至各資料庫引擎。
+ Db2 – 64 TiB
+ MariaDB – 64 TiB
+ Microsoft SQL Server – 64 TiB
+ MySQL – 64 TiB
+ Oracle – 64 TiB
+ PostgreSQL – 64 TiB

下表顯示一些例外狀況的最大儲存空間 (以 TiB 為單位)。io2 Block Express 儲存體以外的所有 RDS for Microsoft SQL Server 資料庫執行個體的最大儲存空間為 16 TiB，因此沒有任何 SQL Server 的項目。


| 執行個體類別 | Db2 | MariaDB | MySQL | Oracle | PostgreSQL | 
| --- | --- | --- | --- | --- | --- | 
| db.m3 – 標準執行個體類別 | 
| db.t4g – 爆量效能執行個體類別 | 
| db.t4g.medium | N/A | 16 | 16 | N/A | 32 | 
| db.t4g.small | N/A | 16 | 16 | N/A | 16 | 
| db.t4g.micro | N/A | 6 | 6 | N/A | 6 | 
| db.t3 – 爆量效能執行個體類別 | 
| db.t3.medium | 32 | 16 | 16 | 32 | 32 | 
| db.t3.small | 32 | 16 | 16 | 32 | 16 | 
| db.t3.micro | N/A | 6 | 6 | 32 | 6 | 
| db.t2 – 爆量效能執行個體類別 | 

如需所有支援執行個體類別的詳細資訊，請參閱[上一代資料庫執行個體](https://aws.amazon.com/rds/previous-generation/)。