10月 23

PostgreSQl チューニング

By ststyle PostgreSQL, tuning コメントは受け付けていません。

チューニング(多少の..)


ipcs -lm

------ シェアードメモリの制限 --------
max number of segments = 4096
max seg size (kbytes) = 4194303
max total shared memory (kbytes) = 1073741824
min seg size (bytes) = 1

echo $((4194303 / 1024))=4095
echo $((1073741824 / 1024 / 1024)) = 1024:1G

チューニング(多少の…) (実メモリ1G)


su postgres
vi /var/pgsql/data/postgresql.conf

同時接続数
max_connections = 50

共有バッファを増やす(物理メモリの 1/4~1/2)
#shared_buffers = 32MB      # min 128kB or max_connections*16kB
↓
shared_buffers = 512MB    (物理メモリの1/4~1/2(DBが主な仕事の場合))

#参考値
#1000ページ(8MB)
#2000ページ(16MB)
#4000ページ(32MB)
#8000ページ(64MB)
#16000ページ(128MB)
#32000ページ(256MB)
#64000ページ(512MB)
#128000ページ(1024MB)(1G)
#256000ページ(2048MB)(2G)
#512000ページ(4096MB)(4G)
#1024000ページ(8012MB)(8G)

●テンプバッファの調整
#temp_buffers = 8MB                     # min 800kB
↓
temp_buffers = 16MB                     # min 800kB

●ソートメモリ
#work_mem = 1MB                         # min 64kB
↓
work_mem = 8MB                          # min 64kB

●トランザクションログバッファの調整
wal_buffers = 64kB                     # min 32kB
↓
wal_buffers = 256kB

postgreSQlの再起動


pg_ctl restart

PostgreSQLの再起動時に
This error usually means that PostgreSQL’s request for
a shared memory segment exceeded your kernel’s SHMMAX
parameter.云々
といわれる時は
/proc/sys/kernel/shmmax の値を増やします


#echo 130023424 > /proc/sys/kernel/shmmax  等
Tagged with:
preload preload preload