重いSQLの見つけ方 †http://blog.asial.co.jp/383 共有メモリの調節 †確認 # ipcs -l -m ------ シェアードメモリの制限 -------- セグメント数の最大値 = 4096 セグメントサイズの最大 (単位:KB) = 32768 max total shared memory (kbytes) = 8388608 最小セグメントサイズ (単位:KB) = 1 128MBに設定 128 * 1024 * 1024 = 134217728 # echo 134217728 > /proc/sys/kernel/shmmax 再確認 # ipcs -l -m ------ シェアードメモリの制限 -------- セグメント数の最大値 = 4096 セグメントサイズの最大 (単位:KB) = 131072 max total shared memory (kbytes) = 8388608 最小セグメントサイズ (単位:KB) = 1 再起動時も有効にするため2行追加 # vi /etc/sysctl.conf kernel.shmall = 134217728 kernel.shmmax = 134217728 サーバー再起動 shared_buffers †共有バッファでPostgreSQLが独自に用意しているディスクキャッシュ shared_buffers = 10000 OR shared_buffers = 24MB work_mem †ソートバッファでテーブルの結合、ソート時に利用される work_mem = 4096 OR work_mem = 4MB wal_buffers †トランザクションログバッファを調節 wal_buffers = 32 OR wal_buffers = 64kB OR wal_buffers = -1 PostgreSQLを高速化する16のポイント †http://neta.ywcafe.net/000960.html |