メモリを増設しshared_buffersを増やす
データ肥大(ダンプ後2GB)のユーザのメモリを増設し、shared_buffersも増やしてみた。
MEMORY 1GB、shared_buffers 256MB
→MEMORY 4GB、shared_buffers 1GB
ユーザ使用感
多少は、軽くなったようだ。ただし3台目の端末でレセプト作業をやると
以前と同様に重い。
半日使用したときのメモリ使用量(free)を見る
total used free
-/+ buffers/cache: 1201748 2402740
4GBはいらない気がする。
shared_buffersと半日使用したときのblks_read & blks_hit
256MB
blks_read | blks_hit
2419575 | 13985030
1024MB
blks_read | blks_hit
8631082 | 87929283
何でshared_buffersを増やすとDBへのアクセスが増えるのかが
わからない。何かの間違いかもしれない。
shared_buffersとレセプト作成時間とblks_read & blks_hit
28MB
7分52秒
blks_read | blks_hit
918945 | 1866870
256MB
8分20秒
blks_read | blks_hit
920264 | 1930352
1024MB
8分48秒
blks_read | blks_hit
934069 | 2067679
レセプト作成はshared_buffersが多いとかえって時間がかかる。
●とりあえずの結論
メモリ2GBでpostgresql.confをいじり、shmmaxも増やそう
shared_buffers = 512MB
work_mem = 4MB
wal_buffers = 256kB
checkpoint_segments = 8
random_page_cost = 4.0
effective_cache_size = 512MB
echo 549240832 > /proc/sys/kernel/shmmax
vi /etc/sysctl.conf
kernel.shmmax = 549240832
関連記事