[pgsql-jp: 38407] Re: pgbenchの結果のブレ

KaiGai Kohei kaigai @ kaigai.gr.jp
2007年 5月 10日 (木) 22:02:02 JST


こんにちは、海外です。

板垣さん、海老原さん、石井さん、ご指摘ありがとうございます。

>> この様な特異値(?)はどのように解釈すべきものなのでしょうか?
>> それとも、pgbenchの実行方法・実行環境に起因する何かがあるの
>> でしょうか?
 - snip -
> おそらくPostgreSQLのチェックポイント処理の影響と思われます.
> pgbenchの-tパラメータ(トランザクション数)を調整し,pgbenchの走行時間
> を10-30分以上になるようにしてみてはどうでしょう?

なるほど、チェックポイントの処理を含む結果と、含まない結果が混在している
ために、結果のばらつきが大きく出てしまったというところでしょうか。
測定時間を十分長く取って、全てのベンチマーク結果に等しくチェックポイント
処理を含むようにしてしまえば、先のような激しいバラつきは発生しなくなると
いう考え方ですね。

とりあえず、十分な回数のトランザクションを実行するパターンで、ジョブを
流しっぱなしにして測定してみたいと思います。

> ところで,SE-PostgreSQLのアーキテクチャは良く分からないのですが,オー
> バヘッドを見るだけならば,更新を含まないクエリの方がはっきり出るという
> ことはないですか?それであれば,pgbenchに-Sオプションを付けて実行すれ
> ば目的を達成できます.ただし,その場合はキャッシュのウォーミングアップ
> の影響が強く出るので,-t には 1000以上程度指定するのがお勧めです.

まだ実際に測定してはいませんが、ご指摘の通り、Read Onlyの方が全体の処理が
軽いため、SE-PostgreSQLのアクセス制御に要するオーバーヘッドがより明確に
現れると思います。

# ちなみに、SE-PostgreSQLがクエリの検査/書き換えを行い、エグゼキュータが
# 付加的な条件句を評価する処理は、検索系/更新系で大差ありません。

それでは
-- 
KaiGai Kohei <kaigai @ kaigai.gr.jp>



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