[pgsql-jp: 39168] Re: max_connections と Shared Memory (shm) の関係について
Seiichirou Hiraoka
flathill @ netspring.co.jp
2008年 2月 8日 (金) 16:18:06 JST
平岡です。
以下の件、どなたからもコメントが頂けないようで残念です。
先日の御質問の際に、
> また、今後 max_connections の値を 300 に増やして運用しようと
> 考えております。同じ環境の試験機で確認をした所、300 どころか
> 2000 程度まで増やしても PostgreSQL が起動しました (このときの
> 共有メモリの使用量は 170MB 程度) が、300 のまま運用しても問題
> 無いのでしょうか。
のように書かせて頂いておりますが、この部分だけでも御存知の方が
いらっしゃいましたら御回答を頂けませんでしょうか。
つまり、max_connections を増やして「起動する」 = 「運用しても
問題ない」かどうかを知りたく考えております。実機は運用中であり、
頻繁に際起動が行えないため、/etc/system を変更する必要があるのか、
max_connections を変更するだけで良いのか、が重要になっており、
以下の通り、試験では max_connections を増やしても起動しております。
以上、何度も申し訳ありませんが、よろしくお願い致します。
- flathill
From: Seiichirou Hiraoka <flathill @ netspring.co.jp>
Subject: [pgsql-jp: 39065] max_connections と Shared Memory (shm) の関係について
Date: Thu, 24 Jan 2008 18:32:12 +0900 (JST)
> 平岡と申します。
>
> 以下の環境で 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
>
> 上記のように、現在 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 の値をもっと増やす必要があるように
> # 思われますが、、、。
>
> 以上、御教授頂けますと幸いです。
>
> - flathill
pgsql-jp メーリングリストの案内