- - PR -
max_connections と Shared Memory (shm) の関係について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-01-29 11:31
しるしると申します。
以下の環境で max_connections の値を増やして良いものかどうかに ついて悩んでおります。 実メモリ: 4GB OS: Solaris10 SPARC PostgreSQL 8.2.4 $ cat /etc/system set shmsys:shminfo_shmmax = 0x2000000 set semsys:seminfo_semmni = 512 set semsys:seminfo_semmns = 512 set semsys:seminfo_semmap = 256 $ cat postgresql.conf (抜粋) max_connections = 150 shared_buffers = 128MB 以下デフォルトのまま (設定ファイルから抜粋) #temp_buffers = 8MB # min 800kB #max_prepared_transactions = 5 # can be 0 or more # (change requires restart) #work_mem = 1MB # min 64kB #maintenance_work_mem = 16MB # min 1MB #max_stack_depth = 2MB # min 100kB max_fsm_pages = 204800 # min max_fsm_relations*16, 6 bytes each # (change requires restart) #max_fsm_relations = 1000 # min 100, ~70 bytes each # (change requires restart) #max_fsm_relations = 1000 # min 100, ~70 bytes each 上記のように、現在 max_connections を 150 で運用しており、 ipcs -a の実行結果 (以下抜粋) を見ると、140MB 程度メモリを使って いるようです。 T ID KEY MODE OWNER GROUP CREATOR CGROUP NATTCH SEGSZ CPID \\\\ LPID ATIME DTIME CTIME Shared Memory: m 10 0x52e2c1 --rw------- postgres postgres postgres postgres 2 141664256 8877 \\\\ 8880 18:11:05 18:11:05 18:11:05 /etc/system では 32MB としてあるのにこの値を超過出来ているという のはどういう理由でしょうか。 また、今後 max_connections の値を 300 に増やして運用しようと 考えております。同じ環境の試験機で確認をした所、300 どころか 2000 程度まで増やしても PostgreSQL が起動しました (このときの 共有メモリの使用量は 170MB 程度) が、300 のまま運用しても問題 無いのでしょうか。 # http://www.postgresql.jp/document/pg825doc/html/kernel-resources.html # 辺りを見ていると、/etc/system の値をもっと増やす必要があるように # 思われますが、、、。 以上、御教授頂けますと幸いです。 |
1