9. まとめ
2006.07.03 株式会社四次元データ 内田康介
- 9.1. テスト結果についての考察・まとめ
- 9.2. テストを行う際の注意点
9.1. テスト結果についての考察・まとめ
全体的に見て8.1が8.0よりも性能が良いということは、サーバーA・Bで共通している部分であると思います。 しかし、サーバーAではそれほど決定的な差はなく、8.0のほうが性能が良い部分もかなりあります。 一方、サーバーBでは検索処理を除き、8.1が8.0を大きく上回っています。
一般的に、ベンチマークテストの結果は、8.1が8.0を大きく上回っていると言われています。 しかし、そのような中で8.1が8.0に負けるという結果が複数出たことについて驚きを隠せません。 なぜこのような結果が生まれたのかわかりませんが、ベンチマークテストの結果というものは、 サーバーの環境や実行した条件によって、大きく変わるということは確かであると思います。
ベンチマークテストを実行しその結果を分析するには、それなりの時間と労力が必要となります。 しかし、実際にテストを実行せずにその結果を予測することは不可能です。 もし、実際に性能を測らなければならないのであれば、ベンチマークテストを行うしかありません。 では、どのように行うのが良いのでしょうか。その答えは簡単です。性能を測りたいシステムと環境・条件が同じであれば良いのです。 なぜなら、環境・条件が異なれば、その結果も異なるものとなってしまうのですから。
9.2. テストを行う際の注意点
pgbenchでテストを行う場合、全ての作業が順調に進めることができるとは限りません。 『うまく実行できない』、『思ったような結果が出ない』など、様々なトラブルが発生する可能性があります。 最後に、そのようなトラブルを解決するためのヒントになるであろうと思われる事柄を3点あげておきたいと思います。 もし、何かトラブルに遭遇したときは、参考にしてみてください。
- 今回示した実行例はPostgreSQLがデフォルト設定で起動しており、環境変数の設定も行われている場合のものです これ以外の場合は、パスやオプションの指定が必要なコマンドがあります。(コマンドにはPostgreSQLのものも含みます)
- ベンチマークテストの結果はシステム状態に依存します。そのため、様々な要因でテスト結果に大きなばらつきが見られることがあります。 このようなばらつきは、テストで実行されたトランザクション数が少ないほど大きくなる傾向にあり、 トランザクション数が多くなると問題のないレベルに落ち着きます。
- pgbenchについてのさらに詳しい情報は、pgbenchのREADMEを参照してください。 READMEはPostgreSQLのディレクトリ内の/doc/contlib/README.pgbench_jisに格納されています。