[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 メーリングリストの案内