TOP設計・移行・活用> テスト用サーバマシンをチューニング
今すぐできるPostgreSQLチューニング
今すぐできるPostgreSQLチューニング

第5回:基本的項目のチェックポイントセグメント数
著者:日本PostgreSQLユーザ会  片岡 裕生   2005/8/17
前のページ  1  2  3
テスト用サーバマシンをチューニング

   それではテスト用サーバマシンをチューニングしてみましょう。テスト用サーバマシンの仕様などは第1回の記事を参照してください。

   ハードディスクには十分な余裕がありますが、今回はデフォルト設定よりも性能が向上することが確認できれば十分ですから、デフォルト設定の3セグメントよりも大きい値であればよしとします。ということで、ここでは16セグメントに決定します。ちなみにこの場合に必要となるハードディスク容量は528Mバイトです。

   PostgreSQLの設定を変更するには、エディタなどで設定ファイルを編集します。PostgreSQLをソースからインストールしたのであれば、設定ファイルは/usr/local/pgsql/data/postgresql.confです。ディレクトリ構成を変更している場合や、RPM等でインストールされた場合には、設定ファイルの場所が異なる場合がありますので、ご利用の環境に合わせて読み替えてください。

   設定ファイル(postgresql.conf)をviなどのテキストエディタで開き、"checkpoint_segments"の指定をしている箇所を3セグメントから16セグメントに書き換えます。行頭の"#"記号でコメントアウトされている場合には忘れずに解除してください。

checkpoint_segments = 16   # in logfile segments, min 1, 16MB each
   設定ファイルを保存した後、PostgreSQLサーバを再起動すれば準備OKです。


チューニングの結果

   それではcheckpoint_segmentsを3から16と大きくした場合にPostgreSQLの性能がどのように変わるのかを確認してみましょう。前回とまったく同じ条件でベンチマーク試験を行った結果が図2です。

前回のチューニング結果とチェックポイントセグメント数の調整後の比較
図2:前回のチューニング結果とチェックポイントセグメント数の調整後の比較

   結果を見ると全体的に性能が向上しています(逆転しているところに関しては前回の解説を参照してください)。チェックポイントセグメント数を増やすことでハードディスクに書き出すデータ量が減ったため、結果的にパフォーマンスが向上しました。


まとめ

   チェックポイントセグメント数の調整は、どちらかというと共有バッファサイズの調整と同じくらい基本的な部類に入るチューニング項目です。この連載では5回目にしてやっと出てきたわけですが、決して重要度が低いわけではありません。

   白状すると、テスト用サーバマシンにおいて少しずつ性能が向上する様子をお見せするために、わざと紹介の順序を入れ替えてあります。ですから読者の皆さんは真っ先にこの項目を調整してみてください。良い結果が得られるはずです。


次回のチューニング予告

   今回で基本的なチューニング項目の解説はほぼ終わりました。もう皆さんのPostgreSQLサーバは適切にセッティングがされて、十分納得できる性能を出していることでしょう。PostgreSQLは決して遅いRDBMSではないのです。

   さて次回はまたちょっと視点を変えて、ファイルシステムの調整を行ってみます。これもデータベースサーバ側だけでできる(アプリケーションに手を入れないで済む)チューニング手法ですから、条件さえ揃えば非常に簡単に性能向上が狙えます。もちろんPostgreSQLサーバの新旧バージョンも問いません。どうぞお楽しみに!

前のページ  1  2  3


日本PostgreSQLユーザ会 片岡 裕生
著者プロフィール
日本PostgreSQLユーザ会  片岡 裕生
1995年よりインターウィズという屋号で個人事業を営む。普段はPostgreSQLを用いたウェブアプリケーション開発などを行う。各コンピュータ情報誌にてPostgreSQL関連記事や連載を執筆。日本PostgreSQLユーザ会の創立メンバーの1人で、同会の技術担当理事、PostgreSQLのしくみ分科会座長を経て、2004年度からは理事長を勤める。


INDEX
第5回:基本的項目のチェックポイントセグメント数
  今回のチューニング
  チェックポイントの頻度と性能
テスト用サーバマシンをチューニング