CPU性能が十分なら大幅に高速化

SSDだとOracleは速い? サンの技術者がベンチ公表

2009/05/12

 既存データベースサーバのハードディスクをSSDに置き換えた場合、どの程度パフォーマンスが向上するのか? この問いへの回答の1つとなり得るベンチマークテストを、“MrBenchmark”を名乗るサン・マイクロシステムズのチーフ・エンジニアのBenoit Chaffanjon氏5月11日付けのブログで公開している。

 ベンチマークは2種類。1つはオンメモリで処理が完了するもの、もう1つはキャッシュメモリに乗り切らずにドライブ(HDD/SSD)へのアクセスが発生するもの。テストに用いたサーバのコンフィギュレーションは以下の通り。

  • Solaris 10 Update 6
  • Oracle 10.2.0.2
  • Java 1.7 build 38
  • SLAMD 1.8.2、iGenOLTP
  • Sun Blade X6270(Xeon X5560@2.8GHz×2、DDR3 32GB)
  • Intel X25-E Extreme SATA SSD 32GB
  • SEAGATE-ST914602SS(146GB、1万RPM、リードキャッシュ、ライトキャッシュともにオン)

 搭載する2基のXeon X5560は、それぞれ4コア搭載で、各8スレッド対応なのでSun Blade X6270は16スレッドに対応する。この構成で16GB、50GBのデータベースを作成。1スレッドから20スレッド程度までクライアントを増やして徐々に負荷を高めたときのTPS(1秒当たりのトランザクション数)と応答時間を計測した。オンラインサイトでユーザーのオーダーをさばく処理を想定し、トランザクションの9割が読み出し、1割が書き込みとなっているという。

 この結果、データベースの全データがメモリに乗るテストでは、スループット(TPS)にはそれほど差が付かず、最大でもSSDのほうがHDDより71%向上する程度。スレッド数が増えてCPUの負荷が高くになるにつれて、この差は縮まり、20スレッド時には9%にまで縮まったという。

ssd01.gif 全データがキャッシュメモリに乗る場合、SSDとHDDの差は大きくない。特にスレッド数が増えてCPU負荷が高まると、差は1割以下になる (出典:MrBenchmark)

 もう1つのデータベースサイズが50GBとメモリキャッシュに乗り切らないケースでは、SSDとHDDの差は大きく開いた。データの約半分はキャッシュに乗る計算だが、それでも12スレッド時にスループットがSSDとHDDで2倍以上の差になったという。このケースではCPUがボトルネックになる以前に、I/O性能がボトルネックとなっている。また、応答時間も6割程度高速化されたという。

ssd02.gif 約半分のデータがメモリキャッシュに乗るだけで、ドライブアクセスが発生する場合には、HDDとSSDとで倍以上のスループットの差が出るという (出典:MrBenchmark)
ssd03.gif 上記のケースでは応答性も改善。SSDを使うことで、単位時間当たりの処理量を測るスループットだけでなく、応答速度も向上するという (出典:MrBenchmark)

 これらの結論としてChaffanjon氏は、典型的なオンライントランザクション処理でOracleデータベースを使っている場合、I/O性能がボトルネックになっているケースでは、Seagateの1万RPMのHDD2台を1台のIntel製SSDで置き換えるほうが有利としている。同等のスループットが出せるだけでなく、応答速度が2倍になる。

 また、ピーク時のSSDの性能はメモリに迫るものがあり、SSDでは685TPS(応答時間30ms)、メモリでは821TPS(応答時間24ms)となったという。

 逆にCPU性能がボトルネックになっている場合、SSDへの置き換えでは、容量単価が高くなるばかりで、HDDを置き換えたときの性能向上が限定的になる、としている。

 サン・マイクロシステムズはインテル製品のOEM提供を受けてSSDを販売しているほか、オラクルに買収されることが決まっているため、SSD利用促進を狙うバイアスはかかっているかもしれないが、一般論として参考になるデータと言えそうだ。

関連リンク

(@IT 西村賢)

情報をお寄せください:

TechTargetジャパン

Database Expert フォーラム 新着記事
  • ゼロから理解する「Oracle RAC」 (2017/3/24)
     本連載では、データベースの基本から、障害対策やチューニングといった実践に即したTipsまでを幅広く解説します。今回は、Oracle Databaseのクラスタリング機能である「Oracle Real Application Clusters(Oracle RAC)」の基礎と仕組みを解説します
  • Hadoopで処理を実装してみる──Hadoop Streamingでの処理、script-runner.jarの使い方 (2017/3/21)
     実際にHadoopで処理を実装していきながら「Hadoopは、誰にだって扱える」を体感しましょう。今回は、「MapperやReducerから特定のファイルを参照」「Hadoop Streamingでの処理」「script-runner.jarの使い方」など、Hadoopで処理を実装する初歩の手順を解説します
  • PL/SQLとは何か (2017/3/14)
     本連載は、「PL/SQL(Procedure Language/Structured Query Language)」を理解し、活用していくための実践講座です。初回は「PL/SQLの特徴とプログラムの基本構造」を解説します
  • 「ブートストラップアクション」でできること (2017/3/14)
     実際にHadoopで処理を実装していきながら「Hadoopは、誰にだって扱える」を体感しましょう。今回は「ブートストラップアクションの利用方法」を解説します
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

「女の一生」リサーチまとめ
女性の思い描く「なりたい自分」、結婚の新常識、子育てに関して妻と夫の思惑は同じなの...

970x250のサイズで常にメディアのトップに広告を表示、ヒトクセが「Smart Canvas Billboard」を提供開始
ヒトクセは、同社のリッチメディア広告配信プラットフォーム「Smart Canvas」において、D...

「GenieeSSP」がネイティブ広告向け配信APIの提供を開始
ジーニーは、同社のインターネットメディアの広告収益最大化プラットフォーム「GenieeSSP...