本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon RDS for Db2、MariaDB、MySQL、PostgreSQL、Oracle 和 Microsoft SQL Server 的資料庫執行個體會使用 Amazon Elastic Block Store (Amazon EBS) 磁碟區做為資料庫和日誌儲存。
在某些情況下,您的資料庫工作負載可能無法達到佈建 IOPS 的 100%。如需詳細資訊,請參閱影響資料庫效能的因素。
如需執行個體儲存體定價的詳細資訊,請參閱 Amazon RDS 定價
主題
Amazon RDS 儲存類型
Amazon RDS 提供三種儲存類型:佈建 IOPS SSD (也稱為 io1 和 io2 Block Express)、一般用途 SSD (也稱為 gp2 和 gp3) 和磁性 (也稱為標準)。各類型的效能特性和價格不盡相同,這可讓您量身打造符合您資料庫工作負載需求的儲存效能及成本。您可以建立 Db2、MySQL、MariaDB、Oracle、SQL Server 和 PostgreSQL RDS 資料庫執行個體,其儲存體高達 64 tebibyte (TiB)。RDS for Db2 不支援 gp2 和磁性儲存類型。
以下清單簡要描述這三種儲存體類型:
-
佈建 IOPS SSD – 佈建 IOPS 儲存體的設計符合輸入/輸出密集工作負載的需求,特別是低延遲要求和一致性輸入/輸出輸送量的資料庫工作負載。佈建 IOPS 儲存體最適合於生產環境。
如需佈建 IOPS 儲存體的詳細資訊 (包括儲存體大小範圍),請參閱 佈建 IOPS SSD 儲存體。
-
一般用途 SSD – 一般用途 SSD 磁碟區提供經濟實惠的儲存體,非常適合於在中型資料庫執行個體上執行的廣泛工作負載。一般用途儲存體最適用於開發與測試環境。
如需一般用途 SSD 儲存體的詳細資訊 (包括儲存體大小範圍),請參閱 一般用途 SSD 儲存體。
-
磁性 – Amazon RDS 也支援磁帶儲存,以提供回溯相容性。建議您針對任何新的儲存需求,使用一般用途 SSD 或佈建 IOPS SSD。磁性儲存上的資料庫執行個體允許的最大儲存量為 3 TiB。如需詳細資訊,請參閱磁性儲存 (舊版,不建議)。
佈建 IOPS SSD 儲存體
對於需要快速且一致 I/O 效能的生產應用程式,我們建議佈建 IOPS 儲存體。佈建 IOPS 儲存體是一種提供可預測效能與一致性低延遲的儲存體類型。佈建 IOPS 儲存體已針對線上交易處理 (OLTP) 工作負載進行最佳化,這些工作負載需要一致的效能。佈建 IOPS 可協助進行這些工作負載的效能調校。
Amazon RDS 提供兩種類型的佈建 IOPS SSD 儲存體:io2 和 io1。建立資料庫執行個體時,您可以指定 IOPS 速率和磁碟區的大小。Amazon RDS 會為資料庫執行個體提供該 IOPS 費率,直到您對其進行變更。
主題
io2 Block Express 儲存體 (建議)
對於 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 範圍和最大輸送量。
資料庫引擎 | 儲存體大小範圍 | 佈建 IOPS 範圍 | 最大輸送量 |
---|---|---|---|
Db2、MariaDB、MySQL 和 PostgreSQL | 100–65,536 GiB | 1,000–256,000 IOPS | 每秒 16,000 MiB |
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 |
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 系統為基礎的資料庫執行個體,在 512 GiB (500 IOPS x 512 GiB = 256,000 IOPS) 時達到最大 IOPS。
-
輸送量可按比例擴展至每個佈建 IOPS 0.256 MiB/s。最大輸送量為 4,000 MiB/s,在 16-KiB I/O 大小的 256,000 IOPS 和 256-KiB I/O 大小的 16,000 IOPS 或更高。對於非以 AWS Nitro 系統為基礎的資料庫執行個體,在 128,000 IOPS 和 16-KiB I/O 大小的情況下,可以達到每秒 2,000 MiB 的輸送量上限。 16-KiB
-
如果您使用的是儲存體自動調整規模,則 IOPS 和儲存體閾值上限之間的比率 (以 GiB 為單位) 同樣適用。如需儲存體自動調整規模的詳細資訊,請參閱 使用 Amazon RDS 儲存體自動擴展自動管理容量。
Amazon RDS io2 Block Express 磁碟區可在下列 中使用 AWS 區域:
-
亞太區域 (香港)
-
Asia Pacific (Mumbai)
-
亞太區域 (首爾)
-
亞太區域 (新加坡)
-
亞太區域 (雪梨)
-
亞太區域 (東京)
-
加拿大 (中部)
-
歐洲 (法蘭克福)
-
歐洲 (愛爾蘭)
-
歐洲 (倫敦)
-
歐洲 (斯德哥爾摩)
-
Middle East (Bahrain)
-
美國東部 (俄亥俄)
-
美國東部 (維吉尼亞北部)
-
美國西部 (加利佛尼亞北部)
-
美國西部 (奧勒岡)
io1 儲存體 (上一代)
對於 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 IOPS1 | 4,000 MiB/s |
SQL Server | 20–16,384 GiB | 1,000–64,000 IOPS2 | 1,000 MiB/s |
注意
1 對於 Oracle,您只能在 r5b 執行個體類型上佈建最大 256,000 IOPS。
2 對於 SQL Server,僅在 m5*、m6i、r5*、r6i 和 z1d 執行個體類型上的 Nitro 型執行個體上保證最大 64,000 IOPS。其他執行個體類型的保證效能最高只到 32,000 IOPS。
IOPS 和儲存大小範圍有下列限制:
-
IOPS 與配置儲存 (以 GiB 為單位) 的比率,針對 RDS for SQL Server 必須從 1 至 50,而針對其他 RDS 資料庫引擎則必須從 0.5 至 50。
-
如果您使用的是儲存體自動調整規模,則 IOPS 和儲存體閾值上限之間的比率 (以 GiB 為單位) 同樣適用。
如需儲存體自動調整規模的詳細資訊,請參閱 使用 Amazon RDS 儲存體自動擴展自動管理容量。
將佈建 IOPS 儲存體與異地同步備份部署或僅供讀取複本結合
針對生產環境 OLTP 使用案例,建議您使用異地同步備份部署,透過佈建 IOPS 儲存體強化容錯能力,提供快速且可預期的效能。
您也可以將佈建 IOPS 儲存體與 MySQL、MariaDB 或 PostgreSQL 的僅供讀取複本搭配使用。僅供讀取複本的儲存體類型是獨立於主要資料庫執行個體之外的。例如,您可能將一般用途 SSD 用於主要資料庫執行個體的僅供讀取複本,且該資料庫執行個體使用了佈建 IOPS SSD 儲存體來減少成本。不過,在此情況下,您的僅供讀取複本的效能可能與主要資料庫執行個體和僅供讀取複本使用佈建 IOPS 儲存體的組態不同。
佈建 IOPS 儲存體成本
若使用佈建 IOPS 儲存體,不論您是否在特定月分中使用這些佈建的資源,都會被計費。
如需定價的詳細資訊,請參閱 Amazon RDS 定價
從 Amazon RDS 佈建 IOPS 儲存體取得最佳效能
如果您的工作負載受到 I/O 限制,使用佈建 IOPS 儲存體可能會增加系統可同時處理的 I/O 請求數量。由於佇列中的輸入/輸出請求耗費的時間較少,因此增加的並行數量可降低延遲。降低的延遲加快了資料庫遞交,這改善了回應時間也提升了資料庫傳輸量。
佈建 IOPS 儲存提供透過指定 IOPS 來保留 I/O 容量的方法。但是,與任何其他系統容量屬性一樣,它在負載下的最大傳輸量,受限於最先消耗的資源。該資源可能是網路頻寬、CPU、記憶體或資料庫內部資源。
一般用途 SSD 儲存體
一般用途儲存提供符合成本效益的儲存,對於大多數非延遲或效能敏感的資料庫工作負載而言是可接受的。
注意
與使用佈建 IOPS 儲存體的執行個體相比,使用一般用途儲存體的資料庫執行個體可能會經歷更長的延遲。如果您需要在這些操作之後延遲最小的資料庫執行個體,建議您使用佈建 IOPS SSD 儲存體。
Amazon RDS 提供兩種類型的一般用途儲存: gp3 儲存體 (建議)和 gp2 儲存體 (上一代)。
gp3 儲存體 (建議)
透過使用一般用途 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/s 的基準儲存效能。
下表顯示 Amazon RDS 資料庫引擎上 gp3 磁碟區的儲存體效能 (包括閾值)。
資料庫引擎 | 儲存體大小 | 基準儲存體效能 | 佈建 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 定價
雖然新增的佈建 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 儲存體自動擴展自動管理容量。
gp2 儲存體 (上一代)
當您的應用程式不需要高儲存效能時,您可以使用一般用途 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 了解爆量與基準效能的
許多工作負載絕不會耗盡爆量餘額。不過,某些工作負載可能會耗盡 3,000 IOPS 高載儲存額度餘額,因此請規劃您的儲存容量,以符合工作負載的需求。
對於大於 4,000 GiB 的 gp2 磁碟區,基準效能會大於爆量效能。對於這類磁碟區而言,爆量不相關,因為基準效能優於 3,000 IOPS 爆量效能。不過,對於特定引擎和大小的資料庫執行個體,儲存體會跨四個磁碟區進行分割,這會提供四倍的基準輸送量,以及單一磁碟的四倍爆量 IOPS。
下表顯示 Amazon RDS 資料庫引擎上各種儲存體大小之 gp2 磁碟區的儲存效能。
資料庫引擎 | RDS 儲存體大小 | 基準 IOPS 的範圍 | 基準輸送量範圍 | 爆量 IOPS |
---|---|---|---|---|
MariaDB、MySQL 和 PostgreSQL | 5–399 GiB1 | 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/A2 |
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/A2 |
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/A2 |
注意
1 使用 AWS Management Console,您可以在 db.t3.micro 和 db.t4g.micro 資料庫執行個體類別的免費層中建立儲存大小下限為 5 GiB 的資料庫執行個體。否則,最小儲存大小為 20 GiB。此限制不適用於 AWS CLI 和 RDS API。
2 磁碟區的基準效能超過最大爆量效能。
固態硬碟 (SSD) 儲存類型的效能特性
下表顯示 Amazon RDS 所使用之 SSD 儲存磁碟區的使用案例和效能特性。
特性 | 佈建 IOPS (io2 Block Express) | 佈建 IOPS (io1) | 一般用途 (gp3) | 一般用途 (gp2) |
---|---|---|---|---|
描述 |
RDS 儲存產品組合中的最高效能 (IOPS、輸送量、延遲) 專為對延遲敏感的交易工作負載而設計 |
一致的儲存體效能 (IOPS、輸送量、延遲) 專為對延遲敏感的交易工作負載而設計 |
獨立佈建儲存體、IOPS 和輸送量的彈性 平衡各種交易工作負載的價格效能。 |
提供爆量 IOPS 平衡各種交易工作負載的價格效能。 |
使用案例 |
業務關鍵型交易工作負載,需要低於毫秒的延遲和高達 256,000 IOPS 的持續 IOPS 效能 |
需要持續 IOPS 效能的交易工作負載,最高可達 256,000 IOPS |
在開發/測試環境中於中型關聯式資料庫上執行的廣泛工作負載 |
在開發/測試環境中於中型關聯式資料庫上執行的廣泛工作負載 |
Latency (延遲) |
毫秒以下,持續提供 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。最大輸送量為 4,000 MiB/s,在 16-KiB I/O 大小的 256,000 IOPS 和 256-KiB I/O 大小的 16,000 IOPS 或更高。 對於非以 AWS Nitro 系統為基礎的執行個體,在 16-KiB I/O 大小的 128,000 IOPS 下,可以達到 2,000 MiB/s 的最大輸送量。 16-KiB |
根據佈建 IOPS 進行擴展,最高 4,000 MB/s |
佈建高達 4,000 MB/s 的額外輸送量 (RDS for SQL Server 上為 1000 MB/s) |
1000 MB/s (RDS for SQL Server 上 250 MB/s) |
AWS CLI 和 RDS API 名稱 | io2 | io1 | gp3 | gp2 |
跨 SSD 磁碟區自動分割
當您選取一般用途 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 磁碟區時的效能影響
當您修改一般用途 SSD 或佈建 IOPS SSD 磁碟區時,它會經歷一連串狀態。當磁碟區處於 optimizing
狀態時,您的磁碟區效能介於來源和目標組態規格之間。轉換磁碟區效能不會低於兩個規格的較低者。
當您修改執行個體的儲存體,使其從一個磁碟區變為四個磁碟區,或使用磁性儲存體修改執行個體時,Amazon RDS 不會使用彈性磁碟區功能。反之,Amazon RDS 會佈建新磁碟區,並以透明方式將資料從舊磁碟區移至新磁碟區。此操作會耗用舊磁碟區和新磁碟區兩者的大量 IOPS 和輸送量。根據磁碟區的大小和修改期間存在的資料庫工作負載量,此操作可能會耗用大量 IOPS、大幅增加 I/O 延遲,並需要數小時才能完成,同時 RDS 執行個體會保持 Modifying
狀態。
EBS 最佳化執行個體的基準和最大 IOPS 率
EBS 最佳化執行個體具有基準和最高 IOPS 速率。最高 IOPS 速率會在資料庫執行個體層級強制執行。總 IOPS 速率高於最大值的 EBS 磁碟區不能超過執行個體層級閾值。例如,如果特定資料庫執行個體類別的最大 IOPS 為 40,000,且您連線了四個 64,000 IOPS EBS 磁碟區,則最大 IOPS 為 40,000,而非 256,000。如需了解每個 EC2 執行個體類型特有的 IOPS 上限,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的受支援執行個體類型。
磁性儲存 (舊版,不建議)
Amazon RDS 也支援磁帶儲存,以提供回溯相容性。建議您針對任何新的儲存需求,使用一般用途 SSD 或佈建 IOPS SSD。下列為磁性儲存體的一些限制:
不允許在使用 SQL Server 資料庫引擎時擴展儲存體。
-
不允許您在使用 SQL Server 資料庫引擎時轉換為不同的儲存體類型。
-
不支援儲存體自動擴展。
不支援與 Amazon Redshift 進行零 ETL 整合。
不支援彈性磁碟區。
限制大小為 3 TiB 以下。
限制為 1,000 IOPS 以下。
專用日誌磁碟區 (DLV)
您可以使用 Amazon RDS 主控台或 Amazon RDS API AWS CLI,為使用佈建 IOPS (PIOPS) 儲存體的資料庫執行個體使用專用日誌磁碟區 (DLV)。DLV 會將 PostgreSQL 資料庫交易日誌和 MySQL/MariaDB 重做日誌和二進位日誌移至與包含資料庫資料表的磁碟區分開的儲存磁碟區。DLV 使交易寫入記錄更有效率且一致。DLV 非常適合具有大型配置儲存體、每秒高 I/O (IOPS) 需求或延遲敏感工作負載的資料庫。
PIOPS 儲存體 (io1 和 io2 Block Express) 支援 DLVs,並以固定大小 1,024 GiB 和 3,000 個佈建 IOPS 建立。
注意
一般用途儲存體 (gp2 和 gp3) 不支援 DLVs。
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)。
監控資料庫效能
Amazon RDS 提供了您可以用來判斷資料庫執行個體執行情形的數種指標。您可以在 Amazon RDS 管理主控台中檢視執行個體摘要頁面中的指標。您也可以使用 Amazon CloudWatch 來監控這些指標。如需更多詳細資訊,請參閱 在 Amazon RDS主控台中檢視指標。強化的監控提供了更詳細的輸入/輸出指標,如需更多資訊,請參閱 使用增強型監控來監控作業系統指標。
下列指標對於監控資料庫執行個體的效能很有用:
-
DiskQueueDepth
– 佇列中等待服務的 I/O 請求數量。這些是已由應用程式提交的輸入/輸出請求,但尚未傳送至裝置,因為該裝置正在忙於處理其他輸入/輸出請求。佇列中耗費的等待時間為延遲和服務時間的元件 (不做為指標)。此指標會報告為指定時間間隔的平均佇列深度。Amazon RDS 會以 1 分鐘的間隔報告佇列深度。一般而言,佇列深度的數值在 0 至數百之間。 -
EBSByteBalance%
– RDS 資料庫爆量儲存貯體中剩餘的輸送量額度百分比。只有基本監控才提供此指標。指標值是以所有磁碟區 (包括根磁碟區) 的輸送量為基礎,而非僅以包含資料庫檔案的那些磁碟區為基礎。當此指標接近零時,表示您的資料庫執行個體運算容量不足。如果定期發生這種情況,請考慮升級至較大的執行個體類別大小,例如從 db.r6g.large 升級至 db.r6g.xlarge。如需詳細資訊,請參閱DB instance class (資料庫執行個體類別)。
-
ReadIOPS
和WriteIOPS
– 每秒完成的 I/O 操作數目。此指標會報告為指定時間間隔的平均 IOPS。Amazon RDS 會以 1 分鐘的間隔分別報告讀取和寫入 IOPS。TotalIOPS
是讀取和寫入 IOPS 的總和。一般而言,IOPS 範圍的數值在每秒 0 至數萬之間。如果您的
TotalIOPS
值定期接近您為資料庫執行個體設定的佈建 IOPS 值,請考慮增加佈建 IOPS (io1、io2 Block Express 和 gp3 儲存類型)。測量的 IOPS 數值獨立於單獨輸入/輸出操作的大小之外。這代表當您測量輸入/輸出效能時,除了輸入/輸出操作數量之外,您也確定留意執行個體的輸送量。
-
ReadLatency
和WriteLatency
– 從提交 I/O 請求到完成所經過的時間。此指標會報告為指定時間間隔的平均延遲。Amazon RDS 每隔一分鐘分別回報讀取與寫入延遲。一般而言,延遲數值以毫秒 (ms) 計算。 -
ReadThroughput
和WriteThroughput
– 每秒傳輸到磁碟或從磁碟傳輸的位元組數。此指標會報告為指定時間間隔的平均輸送量。Amazon RDS 使用每秒位元組的單位 (B/s),以 1 分鐘的間隔分別報告讀取和寫入輸送量。一般而言。傳輸量數值的範圍介於零到輸入/輸出通道的最大頻寬。如果您的輸送量值會定期接近資料庫執行個體的最大輸送量,則如果您使用的是 gp3 儲存類型,請考慮佈建更多的儲存輸送量。
影響資料庫效能的因素
系統活動、資料庫工作負載和資料庫執行個體類別可能會影響資料庫效能。
系統活動
下列系統相關的活動會消耗輸入/輸出容量,並可能會在處理時降低資料庫執行個體效能:
-
多可用區域待命建立
-
僅供讀取複本的建立
-
變更儲存類型
資料庫工作負載
在某些狀況下,您的資料庫或應用程式設計會導致並行數量問題、鎖定或其他形式的資料庫爭用。在這些情況中,您可能無法直接使用所有佈建的頻寬。此外,您有可能會遇到下列與工作負載相關的狀況:
-
達到基礎執行個體類型的傳輸量上限。
-
應用程式未驅動足夠的輸入/輸出操作,因此佇列深度一直小於 1。
-
即使部分輸入/輸出容量處於未使用的狀態,資料庫仍發生查詢爭用情形。
在某些狀況下,並無系統資源達到或接近上限,且新增執行緒數量也不會增加資料庫交易處理速率。於此狀況下,瓶頸很可能是資料庫中的爭用。最常見的問題即為資料列鎖定和索引頁鎖定爭用,但還有許多其他可能原因。若遇到這種情況,您應該向資料庫效能調校專家尋求建議。
DB instance class (資料庫執行個體類別)
為了讓 Amazon RDS 資料庫執行個體發揮最大效能,請選擇這一代執行個體類型,其應具有足夠頻寬能支援您的儲存體類型。例如,您可選擇 Amazon EBS 最佳化執行個體,以及擁有 10 GB 網路連線能力的執行個體。
重要
視您使用的執行個體類別而定,您可能會看到比 RDS 可佈建上限還要低的 IOPS 效能。如需有關資料庫執行個體類別之 IOPS 效能的特定資訊,請參閱《Amazon EC2 使用者手冊》中的 Amazon EBS 最佳化執行個體。建議您先決定執行個體類別的 IOPS 上限,然後再為資料庫執行個體設定佈建 IOPS 值。
建議您使用最新一代的執行個體,才能獲得最佳效能。上一代資料庫執行個體的最大儲存量可能較低。
某些較舊的 32 位元檔案系統的儲存容量可能較低。若要判斷資料庫執行個體的儲存容量,您可以使用 describe-valid-db-instance-modifications 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 – 爆量效能執行個體類別 |
如需所有支援執行個體類別的詳細資訊,請參閱上一代資料庫執行個體