2007年2月,OSS推進フォーラム 技術評価タスクフォース(旧 開発基盤ワーキング・グループ)はこれまでの集大成としてその成果をオープンソース関連情報データベース「OSS iPedia」で公開しました(関連記事)。ここまで足掛け2年半。やっと一区切りがつき,ほっとしているところです。

 これから何回かにわたって,評価結果までの道のりと,この成果に込めた思いをお伝えしたいと思います。第一回は,私,住商情報システムの菅原孝二がプロジェクトの発端からお話します。

プロジェクトの始まり

 私は2004年にOSS推進フォーラムに参加しました。MySQL社とプライマリ・パートナとして契約しており,MySQLに関する事には何にでも関わっていこうと考えていたためです。

 当時を振り返ってみると,巷では「オープンソースなんて企業システムでは使えない」といった声もありました。混沌とした中で,OSS推進フォーラムには何とかオープンソースを世の中に広めたいと言った雰囲気が満ちていました。

 こうした中で,OSS推進フォーラムでは,実際に性能評価を行って「ここまでならオープンソースでも充分使える」というメッセージを世の中に発信する意義があるのではいかという意見が出てきました。

 「オープンソースがどこまで使えるのか?」,「オープンソースと商用製品の違いや適用すべきエリアをどう判断すれば良いのか?」---オープンソースを利用したシステム構築がどこまで可能かということです。

ベンチマーク・ツールにDBTを選んだ理由

 まずは性能評価 = ベンチマークと考え,ツールを探しました。TPC,SPEC,ecperf…様々なベンチマーク・ツールと称するソフトウエアがあります。どれを選ぶべきか。「よく使われている有名なもの」,「詳細な結果が出るもの」,「OSSなんだから無料で使えるものがいい」などの意見が出ました。でも,ちょっと待ってください。ベンチマークツールは何のために使うのでしょうか?

 「XX社製のハードウエア上でYYベンチマークを実施。世界最速のZZが出ました」といったフレーズを目にしたことがあるでしょう。F1グランプリのようです。でも我々が携わる実際のシステム構築では,コストとの兼ね合いの方が遥かに重要で,全体のバランスを考えていかにコストパフォーマンスをよくするかが問題です。F1は素晴らしいですが,必要なのは日々使うファミリーカーなのです。

 OSS iPediaで利用しているツールにDBTシリーズがあります。これはThe Linux Foundation(旧OSDL)が開発したデータベース用の「ワークロード」ツールです(ベンチマーク・ツールと呼ぶなとコメントに書いてあります)。基本は対象とするデータベースにTPCのトランザクションパターンに似た負荷をかけて処理能力を計るツールです。もちろんツール自体もオープンソースです。

 なぜこれを選んだかは,もうおわかりでしょう。

  • オープンソースであり,改変も可能
  • ・・・必要なエンハンスができる
  • 無償
  • ・・・言うまでもなし
  • 結果の公開に制限がない
  • ・・・iPediaで公開できる(他のツールは公開に関して制限されるものもある)
  • テスト環境の制約がない
  • ・・・どんな使い方でも平気。ただし純粋な数値比較はできない

     システム構築現場では,ボトルネックの発見と何処をどう変えればそれが解消できるかが課題です。個々の環境において何が問題で,どうすればそれが解決することができるのかが重要というわけです。

    OSS iPediaの正しい使い方

     OSS iPediaにはDBT-1(Webショッピング・サイトを想定したワークロード。TPC-Wに近い)の結果が載っています。

     この中にBT値が記載されています。これは対象とするデータベースの擬似的なトランザクション処理能力(トランザクション/秒)を表します。注意していただきたいのはBT値だけを取り出して比較してもあまり意味がないということです。ここはぜひ,皆さんにご理解いただきたい点です。対象となる環境(CPU,メモリー,I/O,DBMS,OSなど)による差があり,単純な数値比較はできません。

     では,どう見るのかという点ですが,OSS iPediaには評価データのページにリンクした考察ページがあります。例えばCPUコア数によるチューニングによる前と後や,データベース・サイズを変化させた時のBT値の変化とチューニングの効果など,傾向と対策のようなノウハウが載っています(図参照)。

    図1●MySQL:データベースサイズよる性能の変化

    図2●図2 MySQL:L2キャッシュメモリー・サイズによる性能変化
    ※L21=2MB,L22=2MB

     また,DBT-1のソースコードと評価手順書も公開されていますので,自分の環境でどれくらいの値がでるのだろうかと思われる方は実際に試していただきたいと思います。さらに,自分なりにチューニングを施した場合,効果があったのか無かったのかを比較するベースとなるでしょう。

     実際には,ここまで来るのに紆余曲折がありました。詳細は後編でお話します。