今すぐできるPostgreSQLチューニング 4

テスト用サーバマシンをチューニング

テスト用サーバマシンをチューニング

   それではテスト用サーバマシンをチューニングしてみましょう。テスト用サーバマシンの仕様などは第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サーバの新旧バージョンも問いま せん。どうぞお楽しみに!

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る