前回は,TPC-Cが単純すぎるプログラムであるがゆえに,非現実的なチューニングが許されてしまう問題点を指摘した。非現実的なチューニングができない複雑なプログラムを使用するという点では,アプリケーション・パッケージをそのまま稼働させるタイプのベンチマークが優れている。

◆「標準」ベンチマークとしてのSAP SD

 ベンチマーク用に作成したプログラムではなく,パッケージ・アプリケーションそのものを稼働させるタイプの性能ベンチマークには,古くはLotus Notesを使用した「NoteBench」などがあった。現在では,独SAP,米Oracle,蘭Baanなどの主流ERPパッケージ・ベンダーが自社のパッケージ・アプリケーション製品をそのまま稼働させることによりシステムの性能を測定するベンチマークを,ユーザーのサイジングおよびシステム間の性能比較のために提供している。

 その中でも特に広く利用されているのが「SAP標準アプリケーション・ベンチマーク」である。SAPベンチマークには様々な種類があるが,SD(Sales&Distribution:販売管理)モジュールを使用したベンチマークが最も測定実績が多い。

 そもそも,SAPなどのERPアプリケーションは複雑度がかなり高いOLTPアプリケーションであるとみなせる。例えば,TPC-Cと比較して見ると,テーブル数はTPC-Cが9個であるのに対してSAPでは数万個のレベルである。さらに,アクセスの競合が大きいのも特徴である。SAPのテーブルはコラム数が多く,かつ,多くのトランザクションから異なるキーで読み書きのアクセスが同時並行的に行われることが多い。システムのチューニングをする立場からいうと,かなり厳しいシステムであり,安易に非現実的なチューニングを行うことで性能をかさ上げすることが難しくなっている。

 特に,TPC-Cのようにクラスタ構成で見かけ上の性能を加速させることも難しい。SAPのアプリケーション・サーバーをクラスタ構成にして性能を上げることはできるが,データベース・サーバーをクラスタ化して性能を上げることは難しい。ほぼ唯一の例外がOracleのRAC(リアル・アプリケーション・クラスタ)を使用した場合である。

 また,仮にシステム・ベンダーの担当者が,SAP SDベンチマークの結果を良くするために,大がかりチューニングを行ったとしても,それは,ユーザーにとってみれば,実利用するSAPアプリケーションが高速に稼働できるようになることであり,望ましいことである(この点,ユーザーの実業務で使われないTPC-Cのプログラム向けにチューニングするのとは意味が異なる)。

 TPC-CがプロセサとI/O能力の高さがものを言うベンチマークだとするならば,SAP SDは,プロセサとI/O能力に加えてDBMSのロッキングや並列処理の効率性も評価できるより総合的なベンチマークであると言える。車に例えるならば,TPC-Cはゼロヨン(0~400m)加速のタイムであり,SAP SDはサーキットのラップタイムだと言えるだろうか。

 最近ではそうでもなくなったが,過去においてはSAP SDベンチマークの上位はDBMSとしてOracleを使用するシステムで占められていた。これは,Oracleが行レベル・ロックやマルチバージョンニングによるロック不要の読み取りアクセスなど,データベース・アクセスの並列度向上のテクノロジにおいて優位性を有していたことが大きいだろう(今では,他のDBMSも行レベル・ロックをサポートするようになったが)。

 ユーザーはSAPなどのエンタープライズ・アプリケーションをいっさい使わない場合であっても,SAP SDベンチマーク結果をシステムの一般的なOLTP性能を比較する際の1つの目安とすることができる。前述のように,SAP R/3も1つの(複雑度が高い)OLTPアプリケーションとみなすことができるからである。SAP SDで性能が良ければ,一般の(自社開発の)OLTPアプリケーションでも性能が良い可能性が高いということである。

◆SAP SDベンチマークの問題点

 SAP SDベンチマークもあくまでも実験室的な測定値であることから,現実のアプリケーションの性能を完全に表現できるのではないことに注意する必要がある。例えば,バッチ系,レポーティング系,他システムとの連携処理などはベンチマークの結果には表れない。それでも,現実のアプリケーションの性能の再現性は,TPC-Cに比較すると高い。

 また,SDに限らずSAPベンチマークでは価格に関する情報は公開されていないので,システムの価格性能比を比較する目的には使いにくい。そもそも,SAPベンチマークのコンソーシアムでは,価格に関する情報を公開してはいけないというポリシーが決められているのである。おそらく,価格情報を公開すると価格が正当かどうかを監査する手間が大きいのと,非現実的な構成で見かけ上の価格性能比を上げるためのベンダー間の無益な競争が発生することが大きいと思われる。この点は監査済みの価格情報が公表されるTPCベンチマークの方が優れている点である(ただし,TPCベンチマークにおいても,見かけ上のコストを下げるためにクライアント・デバイスに文字端末を使ったりという,かなり無茶な構成が使用されていることが多いが)。

 次回は,SAP SDベンチマークの数値の具体的な見方と,現時点における各サーバー・ベンダーのSAPベンチマークにおける競合状況について見ていくこととしよう。