Postgresql
PostgreSQL 減少快閃記憶體寫入 (TBW)
我目前是一家初創公司,在我的數據庫伺服器上使用非伺服器級 NVME/SSD。我的主機板、CPU、DDR(ECC)等都是伺服器級的,除了快閃記憶體部分。
我正在尋找減少對我的 Postgresql 數據庫的寫入量的方法,以保持快閃記憶體驅動器的使用壽命,希望能降低故障率。
我的要求
- 寫入速度(低優先級)
- 高讀取速度和低延遲(高優先級)
- 低寫入(高優先級)
問題
- 非raid ubuntu系統推薦哪種儲存格式——ext4/xfs
- 我應該查看哪些配置設置
- 任何形式的設置都可以提高記憶體在快閃記憶體驅動器上的使用率
- 我應該減少維護/真空頻率嗎?
- 磁碟的塊大小。
- WAL 的單獨磁碟?
為了盡可能減少檢查點的數量,增加
max_wal_size
和checkpoint_timeout
。價格是崩潰後更長的恢復時間。確保它
shared_buffers
不會太低,這樣就沒有記憶體壓力會在檢查點之間將臟頁強制輸出到磁碟。您可以嘗試設置bgwriter_lru_maxpages = 0
,以便後台工作人員不會主動清理檢查點之間的頁面。設置
wal_compression = on
為壓縮整頁寫入(以 CPU 時間為代價)。