本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon RDS 資料庫執行個體儲存體
Amazon RDS for Db2、MariaDBMySQL、PostgreSQL、Oracle 和 Microsoft SQL Server 的資料庫執行個體會使用 Amazon Elastic Block Store (AmazonEBS) 磁碟區作為資料庫和日誌儲存。
在某些情況下,您的資料庫工作負載可能無法達到IOPS已佈建 的 100%。如需詳細資訊,請參閱影響資料庫效能的因素。
如需執行個體儲存體定價的詳細資訊,請參閱 Amazon RDS定價
Amazon RDS儲存體類型
Amazon RDS提供三種儲存類型:佈建 IOPSSSD(也稱為 io1 和 io2 Block Express)、一般用途 SSD(也稱為 gp2 和 gp3) 和磁性 (也稱為標準)。各類型的效能特性和價格不盡相同,這可讓您量身打造符合您資料庫工作負載需求的儲存效能及成本。您可以建立 Db2、My SQL、MariaDBOracle、SQLServer RDS 和 PostgreSQL 資料庫執行個體,儲存容量最多為 64 tebibyte (TiB)。RDS for Db2 不支援 gp2 和磁性儲存類型。
以下清單簡要描述這三種儲存體類型:
-
已佈建 IOPS SSD – 已佈建的IOPS儲存體旨在滿足 I/O 密集型工作負載的需求,特別是需要低 I/O 延遲和一致 I/O 輸送量的資料庫工作負載。佈建的IOPS儲存體最適合生產環境。
如需佈建IOPS儲存體的詳細資訊,包括儲存體大小範圍,請參閱 佈建的IOPSSSD儲存體。
-
一般用途 SSD – 一般用途SSD磁碟區提供符合成本效益的儲存體,非常適合在中型資料庫執行個體上執行的各種工作負載。一般用途儲存體最適用於開發與測試環境。
如需一般用途SSD儲存體的詳細資訊,包括儲存體大小範圍,請參閱 一般用途SSD儲存。
-
磁性 – Amazon RDS也支援磁性儲存體,以實現向後相容性。我們建議您使用一般用途SSD或佈建 IOPS SSD 來滿足任何新的儲存需求。磁性儲存上的資料庫執行個體允許的最大儲存量為 3 TiB 如需詳細資訊,請參閱磁性儲存 (舊版,不建議)。
當您選取一般用途SSD或佈建 IOPS 時SSD,取決於選取的引擎和請求的儲存量,Amazon RDS會自動跨多個磁碟區分割以增強效能,如下表所示。
資料庫引擎 | Amazon RDS儲存體大小 | 已佈建的磁碟區數量 |
---|---|---|
Db2 | 低於 400 GiB | 1 |
Db2 | 400–65,536 GiB | 4 |
MariaDB我的 SQL和 PostgreSQL | 低於 400 GiB | 1 |
MariaDB我的 SQL和 PostgreSQL | 400–65,536 GiB | 4 |
Oracle | 低於 200 GiB | 1 |
Oracle | 200–65,536 GiB | 4 |
SQL 伺服器 | 任何 | 1 |
當您修改一般用途SSD或佈建磁碟IOPSSSD區時,它會經歷一系列狀態。當磁碟區處於 optimizing
狀態時,您的磁碟區效能介於來源和目標組態規格之間。轉換磁碟區效能不會低於兩個規格的較低者。
重要
當您修改執行個體的儲存體使其從一個磁碟區變成四個磁碟區,或使用磁性儲存體修改執行個體時,Amazon RDS不會使用彈性磁碟區功能。相反地,Amazon 會RDS佈建新的磁碟區,並透明地將資料從舊磁碟區移至新的磁碟區。此操作會同時耗用大量舊磁碟區IOPS和新磁碟區的輸送量。根據磁碟區的大小和修改期間存在的資料庫工作負載量,此操作可能會耗用大量 IOPS,大幅增加 I/O 延遲,並花費數小時完成,同時RDS執行個體仍處於 Modifying
狀態。
佈建的IOPSSSD儲存體
對於需要快速且一致 I/O 效能的生產應用程式,我們建議佈建IOPS儲存。佈建IOPS儲存是一種儲存類型,可提供可預測的效能,並持續低延遲。佈建IOPS儲存已針對需要一致效能的線上交易處理 (OLTP) 工作負載進行最佳化。佈建IOPS有助於這些工作負載的效能調校。
當您建立資料庫執行個體時,您可以指定 磁碟區的IOPS速率和大小。在您變更資料庫執行個體之前,Amazon RDS會提供該IOPS速率。
Amazon RDS提供兩種類型的佈建IOPSSSD儲存: io2 Block Express 儲存體 (建議)和 io1 儲存體 (上一代)。
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 磁碟區,並提供低於毫秒的平均延遲。非以 Nitro 系統為基礎的 AWS 資料庫執行個體為 io2 磁碟區。
下表顯示每個資料庫引擎IOPS和儲存體大小範圍的佈建和最大輸送量範圍。
資料庫引擎 | 儲存體大小範圍 | 佈建的範圍 IOPS | 最大輸送量 |
---|---|---|---|
Db2、MariaDB我的 SQL和 PostgreSQL | 100–65,536 GiB | 1,000–256,000 IOPS | 16,000 MiB/s |
Oracle | 100–199 GiB | 1,000–199,000 IOPS | 16,000 MiB/s |
Oracle | 200–65,536 GiB | 1,000–256,000 IOPS | 16,000 MiB/s |
SQL 伺服器 | 20–65,536 GiB | 1,000–256,000 IOPS | 16,000 MiB/s |
IOPS 和 儲存體大小範圍有下列限制:
-
IOPS 與配置儲存的比率 (以 GiB 為單位) 必須不超過 1000:1。對於非以 AWS Nitro 系統為基礎的資料庫執行個體,比率為 500:1。
-
最大IOPS可用 256 GiB 和更大的磁碟區佈建 (1,000 IOPS × 256 GiB = 256,000)IOPS。對於非以 Nitro 系統為基礎的 AWS 資料庫執行個體,最大IOPS可達 512 GiB (500 IOPS x 512 GiB = 256,000 IOPS)。
-
每個佈建的輸送量會按比例擴展至最高 0.256 MiB /sIOPS。16-MiB/O 大小IOPS和 16,000 IOPS或更高的 256,000 MiB/s 的最大輸送量可在 256-KiB,000 下實現。 16-KiB 對於非以 AWS Nitro 系統為基礎的資料庫執行個體,在 128,000 個 IOPS 16-KiB I/O 大小的情況下,可以達到每秒 2,000 MiB 的最大輸送量。
-
如果您使用儲存體自動擴展,則同樣適用於 IOPS和 最大儲存閾值 (以 GiB 為單位) 之間的相同比率。如需儲存體自動調整規模的詳細資訊,請參閱 使用 Amazon RDS Storage Autoscaling 自動管理容量。
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我的 SQL和 PostgreSQL | 100–399 GiB | 1,000–19,950 IOPS | 500 MiB/s |
Db2、MariaDB我的 SQL和 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 伺服器 | 20–16,384 GiB | 1,000–64,000 IOPS2 | 1,000 MiB/s |
注意
1 對於 Oracle,您只能在 r5b 執行個體類型IOPS上佈建最多 256,000 個執行個體。
2 對於SQL伺服器,僅在 m5*、m6i、r5*、r6i 和 z1d 執行個體類型上的 Nitro 型執行個體IOPS上保證最多 64,000 個。其他執行個體類型保證效能高達 32,000 IOPS。
IOPS 和 儲存體大小範圍有下列限制:
-
對IOPS配置儲存體 (以 GiB 為單位) 的比率,RDS對於SQL伺服器,必須介於 1–50 之間,對於其他資料庫引擎,則必須介於 RDS 0.5–50 之間。
-
如果您使用儲存體自動擴展,則同樣適用於 IOPS和 最大儲存閾值 (以 GiB 為單位) 之間的相同比率。
如需儲存體自動調整規模的詳細資訊,請參閱 使用 Amazon RDS Storage Autoscaling 自動管理容量。
將佈建IOPS儲存與多可用區部署或僅供讀取複本結合
對於生產OLTP使用案例,我們建議您使用多可用區域部署搭配佈建IOPS儲存來增強容錯能力,以取得快速且可預測的效能。
您也可以將佈建IOPS儲存與我的 SQL、MariaDB 或 Postgre 的僅供讀取複本搭配使用SQL。僅供讀取複本的儲存體類型是獨立於主要資料庫執行個體之外的。例如,您可以將一般用途SSD用於僅供讀取複本,搭配使用佈建IOPSSSD儲存體降低成本的主要資料庫執行個體。不過,在此情況下,您的僅供讀取複本的效能可能與主要資料庫執行個體和僅供讀取複本都使用佈建IOPS儲存體的組態有所不同。
佈建的IOPS儲存成本
使用佈建IOPS儲存時,無論您是否在指定月份使用佈建資源,都會向您收取費用。
如需定價的詳細資訊,請參閱 Amazon RDS定價。
從 Amazon RDS 佈建IOPS儲存取得最佳效能
如果您的工作負載受到 I/O 限制,使用佈建IOPS儲存可能會增加系統可同時處理的 I/O 請求數量。由於佇列中的輸入/輸出請求耗費的時間較少,因此增加的並行數量可降低延遲。降低的延遲加快了資料庫遞交,這改善了回應時間也提升了資料庫傳輸量。
佈建IOPS儲存提供透過指定 來保留 I/O 容量的方法IOPS。但是,與任何其他系統容量屬性一樣,它在負載下的最大傳輸量,受限於最先消耗的資源。該資源可能是網路頻寬、、CPU記憶體或資料庫內部資源。
一般用途SSD儲存
一般用途儲存體提供符合成本效益的儲存體,對於大多數非延遲或效能敏感的資料庫工作負載而言是可接受的。
注意
與使用佈建儲存體的執行個體相比,使用一般用途IOPS儲存體的資料庫執行個體可能會經歷更長的延遲。如果您需要在這些操作之後延遲最小的資料庫執行個體,建議您使用佈建的IOPSSSD儲存體。
Amazon RDS提供兩種類型的一般用途儲存: gp3 儲存體 (建議)和 gp2 儲存體 (上一代)。
gp3 儲存體 (建議)
透過使用一般用途 gp3 儲存磁碟區,您可以自訂儲存效能,而不需儲存容量。儲存效能是每秒 I/O 操作 (IOPS) 和儲存磁碟區執行讀取和寫入速度 (儲存輸送量) 的組合。在 gp3 儲存磁碟區上,Amazon RDS提供 3000 IOPS和 125 MiB /s 的基準儲存效能。
對於除RDSSQL伺服器以外的每個資料庫引擎,當 RDS gp3 磁碟區的儲存大小達到特定閾值時,基準儲存效能會提高。這是因為磁碟區分割,其中儲存體會使用四個磁碟區,而不是一個磁碟區。RDS for SQL Server 不支援磁碟區分割,因此沒有閾值。對於分割磁碟區,Amazon RDS提供 12,000 IOPS和 500 MiB /s 的基準儲存效能。
下表顯示 Amazon 資料庫引擎上 gp3 RDS 磁碟區的儲存效能,包括閾值。
資料庫引擎 | 儲存體大小 | 基準儲存體效能 | 佈建的範圍 IOPS | 佈建儲存體輸送量的範圍 |
---|---|---|---|---|
Db2、MariaDB我的 SQL和 PostgreSQL | 20–399 GiB | 3,000 IOPS/125 MiB /s | N/A | N/A |
Db2、MariaDB我的 SQL和 PostgreSQL | 400–65,536 GiB | 12,000 IOPS/500 MiB /s | 12,000–64,000 IOPS | 500–4,000 MiB/秒 |
Oracle | 20–199 GiB | 3,000 IOPS/125 MiB /s | N/A | N/A |
Oracle | 200–65,536 GiB | 12,000 IOPS/500 MiB /s | 12,000–64,000 IOPS | 500–4,000 MiB/秒 |
SQL 伺服器 | 20–16,384 GiB | 3,000 IOPS/125 MiB /s | 3,000–16,000 IOPS | 125–1,000 MiB/秒 |
對於除RDSSQL伺服器以外的每個資料庫引擎,您可以在儲存大小等於或高於閾值時佈建額外的 IOPS和 儲存輸送量。對於 RDS for SQL Server,您可以為任何可用的儲存體大小佈建額外的 IOPS和 儲存輸送量。對於所有資料庫引擎,您只需支付額外佈建的儲存體效能。如需詳細資訊,請參閱 Amazon RDS定價。
雖然新增的佈建IOPS和儲存輸送量不取決於儲存體大小,但它們彼此相關。當您為 MariaDB 和 My 提高IOPS上述 32,000 時SQL,儲存輸送量值會自動從 500 增加 MiBps。例如,當您在 上IOPS將 設定為 40,000 RDS for My 時SQL,儲存輸送量必須至少為 625 MiBps。Db2、Oracle、Postgre SQL和 SQL Server 資料庫執行個體不會自動增加。
對於多可用區域資料庫叢集,Amazon 會根據IOPS您佈建的 RDS自動設定輸送量值。您無法修改輸送量值。
上的 gp3 磁碟區的儲存效能值RDS具有下列限制條件:
-
對於所有支援的資料庫引擎, 儲存輸送量的 最大比率IOPS為 0.25。
-
已IOPS配置儲存體 (在 GiB 中) 的最小比率為 0.5 on RDS for SQL Server。其他支援的資料庫引擎沒有最小比率。
-
對於所有支援的資料庫引擎, IOPS與配置儲存體的最大比率為 500。
-
如果您使用儲存體自動擴展,則同樣適用於 IOPS和 最大儲存閾值 (以 GiB 為單位) 之間的相同比率。
如需儲存體自動調整規模的詳細資訊,請參閱 使用 Amazon RDS Storage Autoscaling 自動管理容量。
gp2 儲存體 (上一代)
當您的應用程式不需要高儲存效能時,您可以使用一般用途 gp2 SSD 儲存。gp2 儲存體的基準 I/O 效能IOPS每個 GiB 為 3,最低 100 IOPS。此關係表示磁碟區越大,效能越好。例如,一個 100-GiB 磁碟區的基準效能為 300 IOPS。一個 1,000 GiB 磁碟區的基準效能為 3,000IOPS。
大小低於 1,000 GiB 的個別 gp2 磁碟區也能夠IOPS長時間爆量至 3,000。磁碟區 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我的 SQL和 PostgreSQL | 5–399 GiB 1 | 100-1197 IOPS | 128-250 MiB/秒 | 3,000 |
MariaDB我的 SQL和 PostgreSQL | 400–1,335 GiB | 1,200-4,005 IOPS | 512-1,000 MiB/s | 12,000 |
MariaDB我的 SQL和 PostgreSQL | 1,336–3,999 GiB | 4008-11,997 IOPS | 1,000 MiB/s | 12,000 |
MariaDB我的 SQL和 PostgreSQL | 4,000–65,536 GiB | 12,000-64,000 IOPS | 1,000 MiB/s | 不適用2 |
Oracle | 20–199 GiB | 100-597 IOPS | 128-250 MiB/秒 | 3,000 |
Oracle | 200–1,335 GiB | 600-4,005 IOPS | 500-1,000 MiB/秒 | 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 | 不適用2 |
SQL 伺服器 | 20–333 GiB | 100-999 IOPS | 128-250 MiB/秒 | 3,000 |
SQL 伺服器 | 334–999 GiB | 1,002-2,997 IOPS | 250 MiB/s | 3,000 |
SQL 伺服器 | 1,000–16,384 GiB | 3,000-16,000 IOPS | 250 MiB/s | 不適用2 |
注意
1 使用 AWS Management Console,您可以在 db.t3.micro 和 db.t4g.micro 資料庫執行個體類別的 Free 層中建立儲存大小下限為 5 GiB 的資料庫執行個體。否則,最小儲存大小為 20 GiB 此限制不適用於 AWS CLI 和 RDS API。
2 磁碟區的基準效能超過最大爆量效能。
比較固態硬碟 (SSD) 儲存類型
下表顯示 Amazon 所使用的SSD儲存磁碟區的使用案例和效能特性RDS。
特性 | 已佈建 IOPS(io2 Block Express) | 已佈建 IOPS(io1) | 一般用途 (gp3) | 一般用途 (gp2) |
---|---|---|---|---|
描述 |
RDS 儲存產品組合中的最高效能 (IOPS、輸送量、延遲) 專為對延遲敏感的交易工作負載而設計 |
一致的儲存效能 (IOPS、輸送量、延遲) 專為對延遲敏感的交易工作負載而設計 |
獨立佈建儲存體、 IOPS和輸送量的靈活性 平衡各種交易工作負載的價格效能。 |
提供爆量 IOPS 平衡各種交易工作負載的價格效能。 |
使用案例 |
需要低於毫秒延遲且持續IOPS效能高達 256,000 的業務關鍵交易工作負載 IOPS |
需要高達 256,000 的持續IOPS效能的交易工作負載 IOPS |
在開發/測試環境中於中型關聯式資料庫上執行的廣泛工作負載 |
在開發/測試環境中於中型關聯式資料庫上執行的廣泛工作負載 |
Latency (延遲) |
亞毫秒,持續提供 99.9% 的時間 |
個位數毫秒,在 99.9% 的時間內持續提供 |
個位數毫秒,在 99% 的時間內持續提供 |
個位數毫秒,在 99% 的時間內持續提供 |
磁碟區大小 |
100–65,536 GiB |
100–65,536 GiB (SQL伺服器RDS為 20–16,384 GiB) |
20–65,536 GiB (SQL伺服器RDS為 16,384 GiB) |
20–65,536 GiB (SQL伺服器RDS為 16,384 GiB) |
最大值 IOPS |
256,000 |
256,000 (64,000 on RDS for SQL Server) |
64,000 (16,000 on RDS for SQL Server) |
64,000 (16,000 on RDS for SQL Server) 注意您無法IOPS直接佈建在 gp2 儲存體上。IOPS 會因配置的儲存體大小而有所不同。 |
最大輸送量 |
根據佈建的規模IOPS,最高可達 4,000 MB/s 每個佈建的輸送量會按比例擴展至最高 0.256 MiB /sIOPS。16-MiB/O 大小IOPS和 16,000 IOPS或更高的 256,000 MiB/s 的最大輸送量可在 256-KiB,000 下實現。 16-KiB 對於非以 AWS Nitro 系統為基礎的執行個體,在 128,000 IOPS且 16-KiB I/O 大小的情況下,可以達到每秒 2,000 MiB 的最大輸送量。 16-KiB |
根據佈建的規模IOPS,最高可達 4,000 MB/s |
提供高達 4,000 MB/s 的額外輸送量 (RDS適用於 SQL 伺服器的 上為 1000 MB/s) |
1000 MB/s (250 MB/s RDS 在 for SQL Server 上) |
AWS CLI 和RDSAPI名稱 | io2 | io1 | gp3 | gp2 |
磁性儲存 (舊版,不建議)
Amazon RDS也支援磁性儲存體,以實現向後相容性。我們建議您使用一般用途SSD或佈建 IOPS SSD 來滿足任何新的儲存需求。下列為磁性儲存體的一些限制:
不允許您在使用 SQL Server 資料庫引擎時擴展儲存體。
-
不允許您在使用 SQL Server 資料庫引擎時轉換為不同的儲存類型。
-
不支援儲存體自動擴展。
不支援彈性磁碟區。
限制大小為 3 TiB 以下。
上限為 1,000 IOPS。
專用日誌磁碟區 (DLV)
您可以使用 Amazon RDS主控台 AWS CLI或 Amazon 對使用佈建 (DLV) 儲存體的資料庫執行個體使用專用日誌磁碟區 RDS IOPS(PIOPS)API。會將 PostgreSQL 資料庫交易日誌和 My SQL/MariaDB 重做日誌和二進位日誌DLV移至與包含資料庫資料表的磁碟區分開的儲存磁碟區。DLV 可讓交易寫入記錄更有效率且更一致。DLVs 非常適合具有大型配置儲存體、高每秒 I/O (IOPS) 需求或延遲敏感工作負載的資料庫。
DLVs 支援 PIOPS 儲存 (io1 和 io2 Block Express),並以 1,000 GiB 和 3,000 佈建 的固定大小建立 IOPS。
注意
DLVs 不支援一般用途儲存體 (gp2 和 gp3)。
Amazon RDS支援下列版本DLVs AWS 區域 的所有 :
MariaDB 10.6.7 和更新的 10 版本
我的SQL 8.0.28 和更新版本 8
PostgreSQL 13.10 和更新版本 13、14.7 和更新版本 14、15.2 和更新版本 15,以及 16.1 和更新版本 16
RDS DLVs支援多可用區域部署。當您修改或建立多可用區域執行個體時,DLV會同時為主要執行個體和次要執行個體建立 A。
RDS 支援DLVs具有僅供讀取複本的 。如果主要資料庫執行個體已啟用 DLV,則在啟用後建立的所有僅供讀取複本DLV也會有 DLV。除非明確修改,否則在切換到 之前建立的任何僅供讀取複本DLV都不會啟用。我們建議DLV在啟用 之前連接至主要執行個體的所有僅供讀取複本,也要手動修改為具有 A DLV。
修改資料庫執行個體DLV的設定後,必須重新啟動資料庫執行個體。
如需啟用 的資訊DLV,請參閱 使用專用日誌磁碟區 (DLV)。
監控資料庫效能
Amazon RDS提供數個指標,您可以用來判斷資料庫執行個體的執行情況。您可以在 Amazon RDS Management Console 的執行個體摘要頁面上檢視指標。您也可以使用 Amazon CloudWatch 來監控這些指標。如需詳細資訊,請參閱在 Amazon RDS 主控台中檢視指標。強化的監控提供了更詳細的輸入/輸出指標,如需更多資訊,請參閱 使用增強型監控來監控作業系統指標。
下列指標對於監控資料庫執行個體的效能很有用:
-
DiskQueueDepth
– 佇列中等待服務的 I/O 請求數目。這些是已由應用程式提交的輸入/輸出請求,但尚未傳送至裝置,因為該裝置正在忙於處理其他輸入/輸出請求。佇列中耗費的等待時間為延遲和服務時間的元件 (不做為指標)。此指標會報告為指定時間間隔的平均佇列深度。Amazon 會以 1 分鐘的間隔RDS報告佇列深度。一般而言,佇列深度的數值在 0 至數百之間。 -
EBSByteBalance%
– 資料庫爆量儲存貯體中剩餘的輸送量點數百分比RDS。只有基本監控才提供此指標。指標值是以所有磁碟區 (包括根磁碟區) 的輸送量為基礎,而非僅以包含資料庫檔案的那些磁碟區為基礎。當此指標接近零時,表示您的資料庫執行個體的運算容量不足。如果定期發生這種情況,請考慮升級至較大的執行個體類別大小,例如從 db.r6g.large 升級至 db.r6g.xlarge。如需詳細資訊,請參閱DB instance class (資料庫執行個體類別)。
-
ReadIOPS
和WriteIOPS
– 每秒完成的 I/O 操作數目。此指標報告為指定時間間隔IOPS的平均值。Amazon RDS報告每隔 1 分鐘IOPS分別讀取和寫入。TotalIOPS
是讀取和寫入 的總和IOPS。一般值IOPS的範圍為零到每秒數十萬。如果您的
TotalIOPS
值定期接近您為資料庫執行個體設定的佈建IOPS值,請考慮增加佈建 IOPS(io1、io2 Block Express 和 gp3 儲存類型)。測量值IOPS與個別 I/O 操作的大小無關。這代表當您測量輸入/輸出效能時,除了輸入/輸出操作數量之外,您也確定留意執行個體的輸送量。
-
ReadLatency
和WriteLatency
– 從提交 I/O 請求到完成所經過的時間。此指標會報告為指定時間間隔的平均延遲。Amazon 會以 1 分鐘的間隔分別RDS報告讀取和寫入延遲。一般而言,延遲數值以毫秒 (ms) 計算。 -
ReadThroughput
和WriteThroughput
– 每秒在磁碟之間傳輸的位元組數。此指標會報告為指定時間間隔的平均輸送量。Amazon 會以 1 分鐘為間隔,使用每秒位元組 (B/s) 為單位分別RDS報告讀取和寫入輸送量。一般而言。傳輸量數值的範圍介於零到輸入/輸出通道的最大頻寬。如果您的輸送量值定期接近資料庫執行個體的最大輸送量,則考慮在使用 gp3 儲存類型時佈建更多儲存輸送量。
影響資料庫效能的因素
系統活動、資料庫工作負載和資料庫執行個體類別可能會影響資料庫效能。
系統活動
下列系統相關的活動會消耗輸入/輸出容量,並可能會在處理時降低資料庫執行個體效能:
-
多可用區域待命建立
-
僅供讀取複本的建立
-
變更儲存類型
資料庫工作負載
在某些狀況下,您的資料庫或應用程式設計會導致並行數量問題、鎖定或其他形式的資料庫爭用。在這些情況中,您可能無法直接使用所有佈建的頻寬。此外,您有可能會遇到下列與工作負載相關的狀況:
-
達到基礎執行個體類型的傳輸量上限。
-
應用程式未驅動足夠的輸入/輸出操作,因此佇列深度一直小於 1。
-
即使部分輸入/輸出容量處於未使用的狀態,資料庫仍發生查詢爭用情形。
在某些狀況下,並無系統資源達到或接近上限,且新增執行緒數量也不會增加資料庫交易處理速率。於此狀況下,瓶頸很可能是資料庫中的爭用。最常見的問題即為資料列鎖定和索引頁鎖定爭用,但還有許多其他可能原因。若遇到這種情況,您應該向資料庫效能調校專家尋求建議。
DB instance class (資料庫執行個體類別)
若要讓 Amazon RDS 資料庫執行個體發揮最大效能,請選擇頻寬足以支援儲存類型的目前世代執行個體類型。例如,您可以選擇具有 10 GB 網路連線的 Amazon EBS最佳化執行個體和執行個體。
重要
視您使用的執行個體類別而定,效能可能會IOPS低於您可以搭配 佈建的最大值RDS。如需資料庫執行個體類別IOPS效能的特定資訊,請參閱 Amazon 使用者指南 中的 Amazon EBS最佳化執行個體。 EC2 建議您先判斷執行個體類別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伺服器沒有項目。
執行個體類別 | Db2 | MariaDB | 我的SQL | 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 – 爆量效能執行個體類別 |
如需所有支援執行個體類別的詳細資訊,請參閱上一代資料庫執行個體