[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 メーリングリストの案内