對儲存體問題進行故障診斷 - Amazon Aurora

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

對儲存體問題進行故障診斷

如果排序或索引建立操作所需的工作記憶體數量超出 work_mem 參數所配置的數量,Aurora PostgreSQL 會將多餘的資料寫入至暫存磁碟檔案。當它寫入資料時,Aurora PostgreSQL 會使用其用於存放錯誤和訊息日誌的相同儲存體,亦即,本機儲存體。Aurora PostgreSQL 資料庫叢集中的每個執行個體都有可用的本機儲存量。儲存量是以其資料庫執行個體類別為基礎。若要增加本機儲存量,您需要修改執行個體以使用較大的資料庫執行個體類別。資料庫執行個體類別規格,請參閱 Aurora 的資料庫執行個體類別的硬體規格

您可以透過監看 FreeLocalStorage 的 Amazon CloudWatch 指標,來監控 Aurora PostgreSQL 資料庫叢集的本機儲存空間。此指標回報可供 Aurora 資料庫叢集中每個資料庫執行個體用於暫時資料表與記錄的儲存量。如需更多詳細資訊,請參閱 使用 Amazon CloudWatch 監控 Amazon Aurora 指標

排序、檢索和分組操作在工作記憶體中開始,但通常必須卸載至本機儲存體。如果您的 Aurora PostgreSQL 資料庫叢集由於這些類型的操作而耗盡本機儲存體,則您可以採取下列其中一個動作來解決此問題。

  • 增加工作記憶體數量。這會減少使用本機儲存體的需求。根據預設,PostgreSQL 會針對每個排序、群組和索引操作配置 4 MB。若要檢查 Aurora PostgreSQL 資料庫叢集寫入器執行個體目前的工作記憶體數值,請使用 psql 連線至執行個體,並執行下列命令。

    postgres=> SHOW work_mem; work_mem ---------- 4MB (1 row)

    您可以在排序、群組和其他操作之前增加工作階段層級的工作記憶體,如下所示。

    SET work_mem TO '1 GB';

    如需為工作記憶體的詳細資訊,請參閱 PostgreSQL 文件中的資源耗用

  • 變更日誌保留期間,以便存放日誌的時間範圍縮短。如要瞭解如何作業,請參閱 Aurora PostgreSQL 資料庫日誌檔

針對大於 40 TB 的 Aurora PostgreSQL 資料庫執行個體,請不要使用 db.t2、db.t3 或 db.t4g 執行個體類別。建議您在開發、測試伺服器或其他非生產伺服器時,僅使用 T 資料庫執行個體類別。如需更多詳細資訊,請參閱 資料庫執行個體類別的類型