效能
IBM Cloud® Databases for PostgreSQL部署可以 根據您的使用情況手動擴展,也可以配置為在某些資源條件下 自動擴展。 調整部署效能時需要考慮幾個因素。
監控您的部署
Databases for PostgreSQL部署提供與 IBM Cloud® Monitoring服務的 集成,用於對部署上的資源使用進行基本監控。 許多可用指標(例如磁碟使用率和 IOPS)可協助您在部署中設定 自動縮放。 觀察使用趨勢並配置自動縮放以響應這些趨勢,有助於在資料庫因資源耗盡而變得不穩定之前緩解效能問題。
磁碟 IOPS
每秒輸入/輸出操作數 (IOPS) 受儲存磁碟區類型的限制。 用於Databases for PostgreSQL部署的儲存磁碟區 在每 GB 10 IOPS 層的Block Storage持久磁碟區 上配置。 如果您的操作負載飽和或超過 IOPS 限制,資料庫請求和操作將被延遲,直到磁碟可以趕上。 長時間的重負載可能會導致您的部署無法處理查詢並變得實際上不可用。 如果您遇到回應延遲和操作失敗的情況,則可能超出了磁碟的 IOPS 限制。 您可以透過增加磁碟空間來增加部署可用的 IOPS 數量。
我們建議生產環境至少使用 100 GB 磁碟 (1,000 IOPS)。
記憶體用量
Databases for PostgreSQL部署的記憶體設定是根據部署的總記憶體自動調整的。 具體來說,work_mem、maintenance_work_mem 和 effective_cache_size是在配置、恢復或擴展時設定的。
您可以透過調整 PostgreSQL配置中的 shared_buffers來設定專用於資料庫共享緩衝池的記憶體量。
建議值為部署總記憶體的 25%。 向共享緩衝池分配過多記憶體可能會導致系統記憶體不足,從而影響效能,甚至可能停用資料庫。
為您的部署分配大量記憶體(共享緩衝池之外)仍然有利於效能。 例如,PostgreSQL使用快取的磁碟頁面填充記憶體以提高效能。 不需要直接給PostgreSQL分配記憶體供PostgreSQL使用。
連線限制
Databases for PostgreSQL將PostgreSQL資料庫的最大連線數設定為 115。為超級用戶保留 15 個連接,以維護資料庫的狀態和完整性,並為您和您的應用程式提供 100 個連接。 達到連線限制後,任何啟動新連線的嘗試都會導致錯誤。 為了防止連線使您的部署不堪重負,請使用連線池,或擴展您的部署並增加其連線限制。 有關更多信息,請參閱 管理PostgreSQL連接 頁面。
Databases for PostgreSQL將PostgreSQL資料庫的最大連線數設定為 115。為超級用戶保留 15 個連接,以維護資料庫的狀態和完整性,並為您和您的應用程式提供 100 個連接。 達到連線限制後,任何啟動新連線的嘗試都會導致錯誤。 為了防止連線使您的部署不堪重負,請使用連線池,或擴展您的部署並增加其連線限制。 如需更多資訊,請參閱《 管理 PostgreSQL 連線 》。
效能疑難排解
若需協助理解效能 PostgreSQL 問題及其解決方法,請參閱 《 PostgreSQL 效能疑難排解》。