PostgreSQL 9.0.4文書 | ||||
---|---|---|---|---|
前のページ | 巻戻し | 第 14章性能に関するヒント | 早送り | 次のページ |
永続性とは、サーバがクラッシュしたり電源が落ちたりしたとしても、コミットされたトランザクションが記録されていることを保証するデータベースの機能です。 しかし、永続性はデータベースに多くのオーバーヘッドを与えます。 このためこの保証を必要としないサイトでは、PostgreSQLをかなり高速に実行するように設定することができます。 以下に、こうした状況で性能を向上させるために行うことができる設定変更を示します。 これらはデータベースクラッシュに関連したコミット保証を無効にするものではなく、オペレーティングシステムが不意に停止した場合のみだけです。 例外がありますが、後で説明します。
データベースクラスタのデータディレクトリをメモリ上のファイルシステム(つまりRAMディスク)に設定します。 これはすべてのデータベースによるディスクI/Oを取り除きますが、データ量が利用可能なメモリ(およびスワップも使われるかもしれません)量までに制限されます。
fsyncを無効にします。 データをディスクに吐き出す必要がありません。
full_page_writesを無効にします。 部分的なページ書き出しから保護する必要がありません。
checkpoint_segmentsおよびcheckpoint_timeoutを増加させます。 これによりチェックポイントの頻度が減少しますが、/pg_xlogで必要とする容量が増加します。
synchronous_commitを無効にします。 コミット毎にディスクにWALを書き出す必要がありません。 これはデータベースクラッシュ時のトランザクションの永続性に影響します。