2015年02月15日

PostgreSQLをチューニングする(ソース)

<検証環境>
OS : CentOS7.0(64bit) ※CentOS6.6以前、PostgreSQL9.3以前も基本、同じ手順となる。
ソフトウェア : サーバー(GUI使用)+開発ツール
PostgreSQL : 9.4.0

(/data/postgres94/) postgresql.conf を編集します。

PostgreSQLへのメモリ配分 : 1.5GB
プロパティ名プロパティ値デフォルト値説明
max_connections100+10※100Determines the maximum number of concurrent connections to the database server..
shared_buffers384MB128MBSets the amount of memory the database server uses for shared memory buffers..
work_mem
(PostgreSQL7.4以前は sort_mem )
※1SQL文の最大ソート処理数は 2.88 を想定する
4MB4MBSpecifies the amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files..
wal_buffers16MB-1The amount of shared memory used for WAL data that has not yet been written to disk..
effective_cache_size768MB4GBSets the planner's assumption about the effective size of the disk cache that is available to a single query..
deadlock_timeout3s1sThis is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition..


PostgreSQLへのメモリ配分 : 3.0GB
プロパティ名プロパティ値デフォルト値説明
max_connections200+10※100Determines the maximum number of concurrent connections to the database server..
shared_buffers768MB128MBSets the amount of memory the database server uses for shared memory buffers..
work_mem
(PostgreSQL7.4以前は sort_mem )
※1SQL文の最大ソート処理数は 2.88 を想定する
4MB4MBSpecifies the amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files..
wal_buffers16MB-1The amount of shared memory used for WAL data that has not yet been written to disk..
effective_cache_size1536MB4GBSets the planner's assumption about the effective size of the disk cache that is available to a single query..
deadlock_timeout3s1sThis is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition..


PostgreSQLへのメモリ配分 : 6.0GB
プロパティ名プロパティ値デフォルト値説明
max_connections400+10※100Determines the maximum number of concurrent connections to the database server..
shared_buffers1536MB128MBSets the amount of memory the database server uses for shared memory buffers..
work_mem
(PostgreSQL7.4以前は sort_mem )
※1SQL文の最大ソート処理数は 2.88 を想定する
4MB4MBSpecifies the amount of memory to be used by internal sort operations and hash tables before writing to temporary disk files..
wal_buffers16MB-1The amount of shared memory used for WAL data that has not yet been written to disk..
effective_cache_size3072MB4GBSets the planner's assumption about the effective size of the disk cache that is available to a single query..
deadlock_timeout3s1sThis is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition..


※ Tomcat(DBCP)のmaxActive="100"、max_connections=100 とした場合、エラーが発生する。
 "remaining connection slots are reserved for non-replication superuser connections"
 (検証結果 : max_connections=101、max_connections=102 は NG 、max_connections=103 は OK 。)
 そのため、リアルタイム・メンテナンス作業、バッチ処理なども考慮し、余裕を持って +10 しておく。

posted by red at 22:38| Comment(0) | TrackBack(0) | CentOS:ミドルウェア | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック