PostgreSQL 9.6 - 手元の環境でpgbenchった

手元の貧弱な環境でPostgreSQL 9.6 beta1とPostgreSQL 9.5のpgbench結果を比較してみた。
ついでに、今リリースされている、9.6 beta1 RPMに --enable-cassert ついてんじゃね?みたいな話を某所で聞いたので、--enable-cassert の有無によって、どのくらいpgbench結果に影響が出るのかも見てみることにした。

環境

PostgreSQL

  • 以下、全てソースビルド版

pgbench設定

  • 初期化時
    • -s 10 --unlogged-table -F 90
  • 実行時
    • -c 2 -T 30
    • これを3回連続測定して平均値をとる

結果

バージョン 平均tps
9.6 beta1 2757.322
9.6 beta1 cassertあり 1845.260
9.5.2 3331.687


  • おやあ・・・この環境だと明らかにPostgreSQL 9.6 beta1のほうがtpsが落ちている
    • beta1なので、まだ性能改善の余地がたっぷりあるのか。
    • コア数が少ない貧弱な環境だと、9.6のほうが不利になるのか。
  • 当たり前だけど、 --enable-cassert を付与するとめっさ性能に影響でるのね。
  • 一応、9.6のpgbenchのクエリの実行計画も見てみたけど、基本、IndexScanしかないので max_worker_degree がデフォルト値(2)であっても、別に実行計画が変わるわけじゃない。
    • ただ、Planing Timeが9.5よりも、微妙に大きくなっているような・・・max_worker_degree = 0 にするとPlaning Timeが多少改善されたりするのかな?