MySQL、PostgreSQL、SQLite

更新日:2004年07月30日

PostgreSQLのチューニング

編集部 All About 写真

PostgreSQLのチューニングについて解説します

文章:堀江 美彦(All About「データベース」旧ガイド)
PostgreSQLのチューニング

PostgreSQLは最適なパフォーマンスが出るように自動的に調整されるため、特別なチューニングテクニックは必須ではありませんが、最大限にパフォーマンスを引き出したい場合にはpostgresql.confで指定している値を調整することによりチューニングが可能です。また、PostgreSQLのパフォーマンス向上のためには定期的にVACUUMコマンドを実行することをお奨めします。

■VACUUMコマンドを実行する
VACUUMコマンドはPostgreSQLデータベースの掃除と解析をおこなうコマンドです。
定期的にVACUUMコマンドを実行するとデータベースの問い合わせのパフォーマンスが向上します。
VACUUMコマンドによる処理はテーブルが大きい場合は時間がかかりますので、あまりアクセスのない時間帯におこなうとよいでしょう。

VACUUMコマンドの文法

vacuumdb [connection-options...] [[-d] dbname] [--full | -f] [--verbose | -v] [--analyze | -z] [--table 'table [( column [,...] )]']

VACUUMコマンドの実行例
testというデータベースを掃除するには、下記のようにコマンドを実行します。
$ vacuumdb test

実行後、下記のメッセージが戻ればVACUUM処理が完了しています。
VACUUM

■共有バッファを増やす場合
共有バッファはデータベースをアクセスする際のキャッシュとして使われます。
PostgreSQLを動かすサーバーの搭載メモリに余裕のあるシステムでは、メモリ内に全てのデータベースを展開するとパフォーマンスが向上します。各バッファは8Kバイトですので「共有バッファ」は次の計算で求められます

「共有バッファ」= ((空きメモリの合計) と (データベースサイズ + 512K) の少ない方)) / 8192

「共有バッファ」を増やす場合はpostgresql.conf内の「shared_buffers」で指定する値を増やします。

例)
shared_buffers = 1024

■PostgreSQLへの接続数を増やす場合
PostgreSQLの同時接続ユーザー数の上限はpostgresql.conf内の「max_connections」で指定します。
同時接続ユーザー数を増やした場合は「同時接続ユーザー数 * 2」以上に共有メモリを増やしてください。

例)
max_connections = 64

■ソートバッファの値を増やす場合
ソート処理はSQLのORDER BYを指定した場合だけでなく、テーブルの結合の際にもおこなわれますので、 ソートバッファを大きくすることでパフォーマンスの向上が期待できます。
ソートバッファの値を増やす場合はpostgresql.conf内の「sort_mem」で指定する値を増やします。

例)
sort_mem = 4096

■キャッシュサイズを増やす場合
キャッシュサイズ値で共有バッファが割り当てられたときに利用できるメモリの量を設定します。
キャッシュサイズを増やす場合はpostgresql.conf内の「effective_cache_size」でキャッシュサイズを指定している値を増やします。

例)
effective_cache_size = 1000

■トランザクションログ
「トランザクションログが無くなっている(running out of transaction logs)」というメッセージが出力される場合はpostgresql.conf内の「al_files」と「wal_ buffers」で指定している値を増やします。

例)
wal_buffers = 8
wal_files = 4


WindowsでPostgreSQL 記事 一覧

(執筆者:堀江 美彦)

  • 印刷する
  • ブックマークする
  • 携帯に送る
  • ブログに書く

あわせて読みたい

この記事の担当ガイド

写真

編集部 All About

All About Good Answers Topics

回答募集中のトピック(お題)

回答できるものを探そう Good Anwsersトップへ
今なら最大10,000円の回答キャンペーン実施中!

人気データベースランキング

Powered by 価格.com

おすすめ記事

メルマガ登録

【デジタルメルマガ】オトナのオトコなら知っておきたい、PCやデジモノに関する情報をお届けします。

All About モバイル

QRコード

All Aboutがケータイで読める!

オススメ記事をメールでチェック