Amazon RDS 建議參考 - Amazon Relational Database Service

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

Amazon RDS 建議參考

Amazon RDS 會在資源建立或修改時,就資源產生建議。您可以在下表中找到 Amazon RDS 建議的範例。

類型 描述 建議 需要停機時間 其他資訊

磁性磁碟區使用中

您的資料庫執行個體正在使用磁帶儲存。多數資料庫執行個體不建議使用磁帶儲存。選擇不同的儲存類型:一般用途 (SSD) 或佈建 IOPS。

選擇不同的儲存類型:一般用途 (SSD) 或佈建 IOPS。

Amazon EC2 文件中的上一代磁碟區

資源自動備份已關閉

您的資料庫執行個體不會開啟自動備份。建議自動備份,因為可啟用資料庫執行個體的時間點復原。

開啟保留期間最長為 14 天的自動備份。

啟用自動備份

AWS 資料庫部落格上的揭密 Amazon RDS 備份儲存成本

需要引擎次要版本升級

您的資料庫資源未執行最新的次要資料庫引擎版本。最新的次要版本包含最新的安全性修正和其他改進。

升級至最新的引擎版本。

升級資料庫執行個體引擎版本

增強型監控已關閉

您的資料庫資源未開啟增強型監控。增強型監控針對監控及疑難排解,提供即時的作業系統指標。

開啟增強型監控。

使用增強型監控來監控作業系統指標

儲存加密已關閉

Amazon RDS 使用您在 AWS Key Management Service (AWS KMS) 中管理的金鑰,支援所有資料庫引擎的靜態加密。在具有 Amazon RDS 加密的作用中資料庫執行個體上,儲存體中存放的靜態資料會加密,類似於自動備份、僅供讀取複本和快照。

如果在建立資料庫執行個體時未開啟加密,則必須先建立和還原資料庫執行個體解密快照的加密副本,才能開啟加密。

為您的資料庫執行個體開啟靜態資料加密。

Amazon RDS 中的安全

複製 Amazon RDS 的資料庫快照

Performance Insights 已關閉

Performance Insights 會監控您的資料庫執行個體負載,協助您分析並解決資料庫效能問題。建議您開啟 Performance Insights。

開啟績效詳情。

在 Amazon RDS 上使用績效詳情監控資料庫負載

資料庫執行個體已關閉儲存體自動調整規模

資料庫執行個體的儲存體自動調整規模未開啟。資料庫工作負載增加時,RDS 儲存體自動調整規模會自動擴展儲存體容量,且沒有停機時間。

使用指定最大儲存閾值開啟 Amazon RDS 儲存體自動調整規模

使用 Amazon RDS 儲存體自動擴展自動管理容量

需要 RDS 資源主要版本更新

不支援具有資料庫引擎目前主要版本的資料庫。建議您升級至包含新功能和增強功能的最新主要版本。

升級至資料庫引擎的最新主要版本。

升級資料庫執行個體引擎版本

使用 Amazon RDS 藍/綠部署進行資料庫更新

需要 RDS 資源執行個體類別更新

您的資料庫執行個體正在執行舊代資料庫執行個體類別。我們已將舊代資料庫執行個體類別取代為具有更佳成本、效能或兩者兼具的資料庫執行個體類別。建議您使用較新一代的資料庫執行個體類別來執行資料庫執行個體。

升級資料庫執行個體類別。

資料庫執行個體類別的支援資料庫引擎

使用根據已包含授權之終止支援引擎版本的 RDS 資源

建議您將主要版本升級至 Amazon RDS 支援的最新引擎版本,以繼續目前的授權支援。目前授權不支援資料庫的引擎版本。

建議您將資料庫升級至 Amazon RDS 中支援的最新版本,以繼續使用授權模型。

Oracle 主要版本升級

未使用多可用區域部署的資料庫執行個體

建議您使用多可用區域部署。多可用區域部署可增強資料庫執行個體的可用性和耐久性。

為受影響的資料庫執行個體設定多可用區域

進行此變更時,不會發生停機。但是,可能會對效能產生影響。如需詳細資訊,請參閱將資料庫執行個體轉換為 Amazon RDS 的多可用區域部署

Amazon RDS Multi-AZ 定價

資料庫記憶體參數與預設值不同

資料庫執行個體的記憶體參數與預設值明顯不同。這些設定可能會影響效能並導致錯誤。

建議您在資料庫參數群組中,將資料庫執行個體的自訂記憶體參數重設為其預設值。

將記憶體參數重設為其預設值。

AWS 資料庫部落格上設定 Amazon RDS for MySQL 效能參數的最佳實務

使用低於最佳值的 InnoDB_Change_Buffering 參數

變更緩衝可讓 MySQL 資料庫執行個體延遲一些寫入,這是維持次要索引的必要項目。此功能在磁碟緩慢的環境中非常有用。變更緩衝組態稍微改善了資料庫效能,但在升級期間導致損毀復原和長關機時間延遲。在 MySQL 8.4 版中,預設設定為 OFF

將您資料庫參數群組中的 InnoDB_Change_Buffering 參數值設定為 NONE

AWS 資料庫部落格上設定 Amazon RDS for MySQL 效能參數的最佳實務

查詢快取參數已開啟

當變更需要清除查詢快取時,您的資料庫執行個體會顯示為停滯。大部分工作負載並不會受益於查詢快取。MySQL 8.0 版和更新版本已移除查詢快取。建議您將 query_cache_type 參數設定為 0。

將您資料庫參數群組中的 query_cache_type 參數值設定為 0

AWS 資料庫部落格上設定 Amazon RDS for MySQL 效能參數的最佳實務

log_output 參數設定為資料表

log_output 設定為 TABLE 時,使用的儲存體會比 log_output 設定為 FILE 時多。建議您將參數設定為 FILE,以避免達到儲存體大小限制。在 MySQL 8.4 和更新版本中,預設設定為 FILE

將您資料庫參數群組中的 log_output 參數值設定為 FILE

MySQL 資料庫日誌檔案

未使用巨型分頁的參數群組

大型頁面可以提高資料庫可擴展性,但您的資料庫執行個體未使用大型頁面。建議您對於資料庫執行個體,將 use_large_pages 參數值設定為資料庫參數群組中的 ONLY

將您資料庫參數群組中的 use_large_pages 參數值設定為 ONLY

對 RDS for Oracle 執行個體開啟巨型分頁

autovacuum 參數已關閉

資料庫執行個體的自動清空參數已關閉。關閉自動清空功能會增加資料表和索引膨脹並影響效能。

建議您在資料庫參數群組中開啟自動清空。

在您的資料庫參數群組中開啟自動清空參數。

在 AWS 資料庫部落格上了解 Amazon RDS for PostgreSQL 環境中的自動清空

synchronous_commit 參數已關閉

synchronous_commit 參數關閉時,資料可能會在資料庫當機時遺失。資料庫的耐久性存在風險。

建議您開啟 synchronous_commit 參數。

在您的資料庫參數群組中開啟 synchronous_commit 參數。

Amazon Aurora PostgreSQL 參數:資料庫部落格上的複寫、安全性和記錄 AWS

track_counts 參數已關閉

track_counts 參數關閉時,資料庫就不會收集資料庫活動統計資料。自動清空功能需要這些統計資料才能正常運作。

建議您將 track_counts 參數設定為 1

track_counts 參數設定為 1

PostgreSQL 的執行階段統計資料

enable_indexonlyscan 參數已關閉

僅索引掃描計畫類型關閉時,查詢規劃器或最佳化工具皆無法使用該功能。

建議您將 enable_indexonlyscan 參數值設定為 1

enable_indexonlyscan 參數值設定為 1

PostgreSQL 的規劃器方法組態

enable_indexscan 參數已關閉

索引掃描計畫類型關閉時,查詢規劃器或最佳化工具皆無法使用該功能。

建議您將 enable_indexscan 值設定為 1

enable_indexscan 參數值設定為 1

PostgreSQL 的規劃器方法組態

innodb_flush_log_at_trx 參數已關閉

資料庫執行個體的 innodb_flush_log_at_trx 參數值不是安全的值。此參數控制提交操作至磁碟的持續性。

建議您將 innodb_flush_log_at_trx 參數設定為 1

innodb_flush_log_at_trx 參數值設定為 1

AWS 資料庫部落格上設定 Amazon RDS for MySQL 效能參數的最佳實務

sync_binlog 參數已關閉

在資料庫執行個體中確認交易遞交之前,系統不會強制執行二進位日誌到磁碟的同步處理。

建議您將 sync_binlog 參數值設定為 1

sync_binlog 參數值設定為 1

AWS 資料庫部落格上設定 Amazon RDS for MySQL 複寫參數的最佳實務

innodb_stats_persistent 參數已關閉

您的資料庫執行個體未設定將 InnoDB 統計資料保留於磁碟。未儲存統計資料時,會在每次執行個體重新啟動和存取資料表時重新計算統計資料。這會導致查詢執行計畫的變化。您可以在資料表層級修改此全域參數的值。

建議您將 innodb_stats_persistent 參數值設定為 ON

innodb_stats_persistent 參數值設定為 ON

AWS 資料庫部落格上設定 Amazon RDS for MySQL 效能參數的最佳實務

innodb_open_files 參數過低

innodb_open_files 參數控制 InnoDB 一次可以開啟的檔案數量。InnoDB 會在 mysqld 執行時,開啟所有日誌和系統資料表空間檔案。

針對 InnoDB 一次能開啟的最大檔案數量,您的資料庫執行個體設定值很低。建議您將 innodb_open_files 參數設定為 65 的下限。

innodb_open_files 參數設定為最小值 65

InnoDB 開啟 MySQL 的檔案

max_user_connections 參數過低

針對每個資料庫帳戶能同時連線的數量上限,您的資料庫執行個體設定值很低。

建議您將 max_user_connections 參數設定為大於 5 的數字。

max_user_connections 參數的值增加到大於 5 的數字。

設定 MySQL 的帳戶資源限制

僅供讀取複本以可寫入模式開啟

您的資料庫執行個體具有可寫入模式的僅供讀取複本,允許從用戶端進行更新。

建議您將 read_only 參數設定為 TrueIfReplica,讓僅供讀取複本不處於可寫入模式。

read_only 參數值設定為 TrueIfReplica

AWS 資料庫部落格上設定 Amazon RDS for MySQL 複寫參數的最佳實務

innodb_default_row_format 參數設定不安全

您的資料庫執行個體遇到已知問題:在低於 8.0.26 的 MySQL 版本中建立的資料表,且當索引超過 767 個位元組時,將 row_format 設定為 COMPACTREDUNDANT 將無法存取且無法復原。

建議您將 innodb_default_row_format 參數值設定為 DYNAMIC

innodb_default_row_format 參數值設定為 DYNAMIC

MySQL 8.0.26 的變更

general_logging 參數已開啟

您的資料庫執行個體已開啟一般記錄功能。此設定在針對資料庫問題進行疑難排解時非常有用。不過,開啟一般記錄功能會增加 I/O 操作和配置儲存空間量,進而導致爭用和效能降低。

檢查您的要求是否有一般記錄用量。建議您將 general_logging 參數值設定為 0

檢查您的要求是否有一般記錄用量。如果不是強制性的,建議您將 general_logging 參數值設定為 0

RDS for MySQL 資料庫日誌概觀

RDS 執行個體的系統記憶體容量佈建不足

建議您調整查詢以使用較少的記憶體,或使用配置較高記憶體的資料庫執行個體類型。當執行個體記憶體不足時,資料庫效能會受到影響。

使用具有較高記憶體容量的資料庫執行個體

資料庫 AWS 部落格上的垂直和水平擴展 Amazon RDS 執行個體

Amazon RDS 執行個體類型

Amazon RDS 定價

RDS 執行個體的系統 CPU 容量佈建不足

建議您調整查詢以使用較少的 CPU,或修改資料庫執行個體以使用配置較高 vCPU 的資料庫執行個體類別。當資料庫執行個體上執行的 CPU 偏低時,資料庫效能可能會降低。

使用具有較高 CPU 容量的資料庫執行個體

在 AWS 資料庫部落格上垂直和水平擴展 Amazon RDS 執行個體

Amazon RDS 執行個體類型

Amazon RDS 定價

RDS 資源未正確使用連線集區

建議您啟用 Amazon RDS Proxy,以有效率地將現有資料庫連線集合起來並共用。如果您已經為資料庫使用代理,請正確設定它,以改善跨多個資料庫執行個體的連線集區和負載平衡。RDS Proxy 可協助降低連線耗盡和停機的風險,同時改善可用性和可擴展性。

啟用 RDS Proxy 或修改現有的 Proxy 組態

在 AWS 資料庫部落格上以垂直和水平方式擴展 Amazon RDS 執行個體

Amazon RDS Proxy

Amazon RDS Proxy 定價

RDS 執行個體正在建立過多的暫時物件

建議您調整工作負載,以防止建立過多的暫時物件,或切換到支援最佳化讀取的 RDS 執行個體類別。RDS Optimized Reads 可改善涉及大量暫時物件和/或大型暫時物件之工作負載的資料庫效能。評估工作負載,以判斷搭配 RDS Optimized Reads 使用執行個體是否有利於您的資料庫工作負載。

搭配 RDS Optimized Reads 使用資料庫執行個體類型

Amazon RDS 執行個體類型

使用 Amazon RDS Optimized Reads 改善 RDS for MySQL 的查詢效能

使用 Amazon RDS Optimized Reads 改善 RDS for MariaDB 的查詢效能

使用 Amazon RDS Optimized Reads 改善 RDS for PostgreSQL 的查詢效能

RDS 執行個體的系統 IOPS 容量佈建不足

建議您調校資料庫工作負載,以減少 IOPS 或將資料庫執行個體向上擴展為具有較高預設 IOPS 限制的類型。目前的資料庫執行個體不支援佈建 IOPS,或資料庫工作負載具有較高的 IOPS 使用率。

使用具有較高預設 IOPS 限制的資料庫執行個體類型

Amazon RDS 執行個體類型

Amazon RDS 資料庫執行個體儲存體

資料庫載入

RDS 執行個體的 Amazon EBS 磁碟區佈建不足

建議您調校資料庫工作負載,以減少 IOPS 或增加資料庫的佈建 IOPS。當 IOPS 使用率接近佈建 IOPS 時,資料庫效能可能會降低。

為資料庫執行個體佈建更多 IOPS

Amazon RDS 執行個體類型

Amazon RDS 資料庫執行個體儲存體

資料庫載入

RDS 執行個體的輸送容量佈建不足

建議您調校資料庫工作負載,以減少輸送量或增加資料庫的佈建輸送量。當輸送量使用率接近佈建輸送量時,資料庫效能可能會受到影響。

為資料庫執行個體佈建更多輸送量

Amazon RDS 執行個體類型

Amazon RDS 資料庫執行個體儲存體

資料庫載入

RDS 執行個體的 EBS I/O 佈建不足

建議您調校資料庫工作負載以減少 I/O 操作,或修改資料庫執行個體以使用專為需要高效能、高輸送量和低延遲的資料庫工作負載設計的 Amazon RDS io2 Block Express 磁碟區。使用目前的工作負載時,資料庫可能無法以所需的速率處理 I/O 操作,這可能會導致效能降低。

針對 RDS 執行個體使用 Amazon RDS io2 Block Express 磁碟區

Amazon RDS 資料庫執行個體儲存體

Amazon RDS 的 Amazon CloudWatch 指標

《Amazon EBS 使用者指南》中的佈建 IOPS SSD 磁碟區