タグ

2006年11月16日のブックマーク (3件)

  • [ThinkIT] 第3回:性能か安定か?ライタープロセスのチューニング (1/3)

    これまでの2回のチューニングでは、共有バッファとトランザクションログバッファの調整を取り上げました。この2つのチューニング項目はPostgreSQLのディスクI/Oを減らすために重要な役割を果たしています。そのため、これらの設定を適切に調整してあげることで性能を大きく改善(16クライアント時で48tpsから90tps)できました。 さて今回は、PostgreSQL 8.0から導入された「ライタープロセス」を取り上げたいと思います。 PostgreSQLでは共有バッファをディスクキャッシュとして使っています。このためデータの更新は共有バッファ上で行われるのみで、すぐにはハードディスクに書き込まれません。ですがこれは後で必ず書き込まなければならないデータです。共有バッファは「ページ」という8Kバイトの単位で管理されており、後でハードディスクに書き込まなければならないページのことを特に「ダーティ

    nogoro
    nogoro 2006/11/16
    writer processのチューニング。品部さん曰く「topコマンドで確認すると、hibiyaなどではこれが非常にメモリを食っています。( writer process )」
  • postgresql パフォーマンスチューニング

    このサイトは、もともと作者の自分用メモとして書き始めたものです。書いてあることが全て正しいとは限りません。他の文献、オフィシャルなサイトも確認して、自己責任にて利用してください。 数十万レコードのデータを持つ大規模なテーブルを扱うようになると、クエリによっては回答が得られるまでに数秒かかるケースも出てくる。これは、より多くのメモリやディスクの使用を PostgreSQL に許すことで改善される可能性が高い。ただし、扱っているデータベースが小さい時には大した効果は望めない。また、そもそもの実装メモリが 256M とか 128M という貧弱な状態では、調整の余地さえなく、単なる悪あがきだ。以下は搭載メモリ 1 ギガを目安に書いている。更に、テーブルの素性とクエリパターンによっては、テーブル自体のクラスタ化が加速を上乗せしてくれるかもしれない -- クラスタリングや適切なインデックスの作成は、メ

    nogoro
    nogoro 2006/11/16
    なかなかよさそう。サイト全体、役に立ちそう。
  • PostgreSQLのチューニング [データベース] All About

    PostgreSQLのチューニング PostgreSQLは最適なパフォーマンスが出るように自動的に調整されるため、特別なチューニングテクニックは必須ではありませんが、最大限にパフォーマンスを引き出したい場合にはpostgresql.confで指定している値を調整することによりチューニングが可能です。また、PostgreSQLのパフォーマンス向上のためには定期的にVACUUMコマンドを実行することをお奨めします。 ■VACUUMコマンドを実行する VACUUMコマンドはPostgreSQLデータベースの掃除と解析をおこなうコマンドです。 定期的にVACUUMコマンドを実行するとデータベースの問い合わせのパフォーマンスが向上します。 VACUUMコマンドによる処理はテーブルが大きい場合は時間がかかりますので、あまりアクセスのない時間帯におこなうとよいでしょう。 ●VACUUMコマンドの文法 v

    PostgreSQLのチューニング [データベース] All About
    nogoro
    nogoro 2006/11/16
    本文中のsort_numはPG8.0からwork_memに名称変更(同様にvacuum_memがmaintenance_work_memに移行している)。