[pgsql-jp: 39268] Re: JPUG合宿(8.3チューニング大会あり)のご案内

Tatsuo Ishii ishii @ sraoss.co.jp
2008年 2月 27日 (水) 17:40:17 JST


石井です.

清末さんの理解であっていると思います.
以下,8.3の日本語マニュアルより(typoを補っています).

-----------------------------------------------------------------------------
synchronous_commit (boolean)

    トランザクションのコミットがクライアントに"成功"を返す前にWAL記録
    のディスクへの書き出しを待機するかどうかを指定します。デフォルトか
    つ安全な設定はonです。 offの場合、クライアントに成功を報告する時点
    とトランザクションが本当にサーバクラッシュに対して安全になるまでの
    間に遅延が発生します。(遅延の最大は、wal_writer_delayの3倍です。) 
    fsyncと異なり、このパラメータをoffに設定することによっても、データ
    ベースの一貫性が損なわれる可能性はありません。クラッシュにより最近
    コミットされたと言われたトランザクションの一部が失われる可能性があ
    りますが、これらのトランザクションが正常にアビートさたた時とデータ
                                              ~~~~~~~~~~~~~~アボートされた
    ベースの状態は変わりません。ですので、synchronous_commitを無効にす
    ることは、トランザクションの信頼性が確実であることよりも性能が重要
    である場合に有効な方法です。詳細は項28.3を参照してください。

    このパラメータはいつでも変更可能です。この設定により任意の1つのト
    ランザクションのコミット時の動作が決まります。したがって、一部のト
    ランザクションのコミットを同期に、他を非同期にすることが可能で、か
    つ、有用です。
-----------------------------------------------------------------------------
--
Tatsuo Ishii
SRA OSS, Inc. Japan

> 清末です。
> 
> 補足ありがとうございます。
> 一点。
> 
> synchronous_commitは、off がデフォルトとあったのですが、
> 
> http://www.sraoss.co.jp/technology/postgresql/8.3/
> には、デフォルト on とあって、今さっきインストールした8.3.0で
> 
> postgres=# show synchronous_commit ;
>  synchronous_commit
> --------------------
>  on
> (1 row)
> とでたので、ここは on がデフォルトかと。
> 違ったら突っ込みお願いします。
> 
> 
> Hiroki Kataoka さんは書きました:
> > 片岡@合宿参加です。
> > 
> >  いくつか補足させてください。
> > 
> > Sunao Kiyosue さんは書きました:
> >> サーバは、SUN様がご提供いただきました。
> >> Sun Fire X4100
> >> 2.8GHz AMD Opteron 254 (1MBキャッシュ) x 2、
> >> 8GBメモリ (2GB DIMM x 4 DDR/400)、
> >> 73GB 10000回転SASディスクドライブ x 2、
> >> OSにはSolaris 10最新版(8/07 update4)
> > 
> >  サーバのメモリは+8MBされていて16MBでした。
> > 
> >> ・fsync = off は禁じ手
> > 
> >  この理由は信頼性に欠けるからですが、同じ理由でfull_page_writes = offも
> > 禁じ手にすべきでした。full_page_writes = offでは、障害後のリカバリに失敗
> > する可能性があります。ただし性能には比較的大きく影響するパラメータです。
> > 
> >  大会終了時の種明かしで判明したのですが、結果的にAチームのみが
> > full_page_writes = offで、B、Cチームがfull_page_writes = on(デフォル
> > ト)での争いとなってしまいました。
> > 
> >> 8.3からの分では、
> >> synchronous_commit = off と on では、結構違ってきました。
> >> 試したところ tps で、100〜200ぐらいは、違ったと思います。
> >> 運用次第では、offも一考です。
> > 
> >  参考までに、これはoffがデフォルトですから、一般的には気にしなくて大丈
> > 夫です。なおonにした場合に信頼性が若干下がります(イメージが逆かも?)。
> > 
> 
> -- 
> --------------------------------------------------------
> Sunao Kiyosue (清末 直)
> 
> --------------------------------------------------------



pgsql-jp メーリングリストの案内