オンプレミス版_PostgreSQL推奨設定
はじめに
対象
このマニュアルは、オンプレミス版 i-Reporterをご契約のお客様向けです。
概要
ConMas i-Reporterシステムの、データーベース(PostgreSQL)のチューニングに関する資料です。 帳票検索などのレスポンス改善を目的とした推奨設定を掲載しています。
設定ファイル
ファイルの場所
[PostgreSQLデーター格納ディレクトリ]\postgersql.conf
変更方法
上記のconfファイルをメモ帳でひらき、次ページ以降の内容で更新します。
【注意】 変更前には、必ず postgressql.conf をコピーなどでバックアップしてください。
搭載メモリーについて
APサーバー、DBサーバー同居型 の場合: 全メモリーの半分を搭載メモリーとする
APサーバー、DBサーバー分離型 の場合: 全メモリーすべてを搭載メモリーとする
推奨設定
shared_buffers データベースが使用する共有メモリバッファの値を指定します。 推奨値:搭載メモリの 25% effective_cache_size
effective_cache_size 設定値(データベースキャッシュに使用するメモリサイズ)が大きいと、インデックスを使用した検索が行われやすくなります。
推奨値:搭載メモリーの1/4~1/2
work_mem ソート、テーブルJOINに使用するメモリ量です。 大きくするとメモリ使用量が増え、より高速なJOINソートが可能になります。 推奨値:「メモリ搭載量-shared_buffers = work_mem × 同時接続数(※)」
【参考】 work_mem=10MBの時、100人が同時接続した場合10MB×100人=1000MB≒1GBとなり、最大で約1GB消費します。
※同時接続数とは 同時にサーバーへのアクセスが必要な操作(帳票保存や検索等)を行うユーザー数です。
random_page_cost この値を小さく設定すると、オプティマイザがインデックスを使用した問い合わせプランを選択する傾向が強くなります。 一般的にHDDの場合は2、SSDの場合は1にします。
default_statistics_target PostgreSQLでは、特定のテーブルの特定のカラムごとに統計情報を取得する際の精度を指定することで、大きなテーブルでは荒くなりがちな統計情報の精度を調整することができるようになっています。 デフォルト値:100推奨値:1000(より精度を向上させるため)
適用方法
postgreSQLサービスを再起動することで適用されます。
設定サンプル
【前提】 APサーバー、DBサーバー同居型 メモリー:8GB ストレージ:HDD ※同居型のため、搭載メモリーを4GBとして計算する
【設定サンプル】
shared_buffers 4G×25% = 1GB
effective_cache_size 4G × 1/2 = 2GB
work_mem ※考えられる同時接続数を50で計算 4G – 1G = 50 × work_mem ≒50~60MB
random_page_cost HDDのため =2
default_statistics_target =1000
定期的なAnalyze実行
データベース内のテーブルの内容に関する統計情報を集計する処理を行います。
PostgreSQLでは統計情報を用いて効率のよい検索問い合わせを導き出しています。 この統計情報が最新の状態で集計できていない場合、効率のよい検索問い合わせができないことがあります。
Analyze処理は自動で動作しますが、一度の大量の帳票を登録するなど、運用内容によって最新の状態で集計されにくくなるケースがあります。
以下のコマンドを実行することでi-reporterで変更、追加の多いテーブルを対象にAnalyzeを実行できます。 定期的なAnalyze実行にご利用ください。
最終更新