PostgreSQL 配置記憶體引數

2021-10-03 23:34:13 字數 787 閱讀 5294

對於任何資料庫軟體,記憶體配置項都是很重要的配置項。在 postgresql 主要有以下幾個記憶體配置引數。

shared_buffers: integer 型別,設定資料庫伺服器將使用的共享記憶體緩衝區數量,此緩衝區為緩衝資料塊所用。此緩衝區是放在共享記憶體中的。每個緩衝區大小的典型值是 8k 位元組,預設值通常是 4000,對於 8kb 的資料塊則共享記憶體緩衝區大小為 400*8kb=32mb。這個數值必須大於 16,並且至少是 max_connections 數值的兩倍。通常都會把此值設定的大一些,這樣可以改進效能。一般設定為物理記憶體的 25%,若把 shared_buffers 設定的更大,如超過物理記憶體的 40%,就會發現緩衝的效果並不明顯了,這是因為 postgresql 是執行檔案系統之上的,若檔案系統也有快取,將導致雙快取過多,造成負面影響。

對於任何資料庫軟體,記憶體配置項都是很重要的配置項。在 postgresql 主要有以下幾個記憶體配置引數。

shared_buffers: integer 型別,設定資料庫伺服器將使用的共享記憶體緩衝區數量,此緩衝區為緩衝資料塊所用。此緩衝區是放在共享記憶體中的。每個緩衝區大小的典型值是 8k 位元組,預設值通常是 4000,對於 8kb 的資料塊則共享記憶體緩衝區大小為 400*8kb=32mb。這個數值必須大於 16,並且至少是 max_connections 數值的兩倍。通常都會把此值設定的大一些,這樣可以改進效能。一般設定為物理記憶體的 25%,若把 shared_buffers 設定的更大,如超過物理記憶體的 40%,就會發現緩衝的效果並不明顯了,這是因為 postgresql 是執行檔案系統之上的,若檔案系統也有快取,將導致雙快取過多,造成負面影響。

PostgreSQL記憶體結構

postgresql在啟動後會生成一塊共享記憶體,共享記憶體包括資料塊緩衝區 wal日誌緩衝區以及clog緩衝區。除此之外,共享記憶體還包含程序資訊 統計資訊 鎖資訊 日誌資訊等。相關引數 shared buffers 設定資料庫伺服器將使用的共享記憶體緩衝區大小,通常都會把此值設定的大一些,這樣可...

postgresql 日誌配置

log destination csvlog csv模式輸出 logging collector on 收集日誌開啟 log directory pg log 輸出日期的陌路 log filename postgresql u.log 輸出的檔名加星期格式 log truncate on rotat...

PostgreSQL配置優化

作業系統 ubuntu13.04 系統位數 64cpu intel r core tm 2 duo cpu 記憶體4g 硬碟seagate st2000dm001 1ch164 測試工具 postgresql 9.1.11 工具名稱 pgbench 資料量200w 整個資料庫大小約為300m 模擬客...