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%にまで縮まったという。
全データがキャッシュメモリに乗る場合、SSDとHDDの差は大きくない。特にスレッド数が増えてCPU負荷が高まると、差は1割以下になる (出典:MrBenchmark)もう1つのデータベースサイズが50GBとメモリキャッシュに乗り切らないケースでは、SSDとHDDの差は大きく開いた。データの約半分はキャッシュに乗る計算だが、それでも12スレッド時にスループットがSSDとHDDで2倍以上の差になったという。このケースではCPUがボトルネックになる以前に、I/O性能がボトルネックとなっている。また、応答時間も6割程度高速化されたという。
約半分のデータがメモリキャッシュに乗るだけで、ドライブアクセスが発生する場合には、HDDとSSDとで倍以上のスループットの差が出るという (出典:MrBenchmark)
上記のケースでは応答性も改善。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利用促進を狙うバイアスはかかっているかもしれないが、一般論として参考になるデータと言えそうだ。
関連リンク
関連記事
情報をお寄せください:
TechTargetジャパン
- やはりSELECT文は永遠のテーマです (2012/2/7)
Database Expertフォーラムの2012年1月のアクセスランキングをお届けします。定番の記事を一気に追い抜いてあの記事が…… - SELECT文で取り出したデータを加工して表示する (2012/1/25)
SELECT文で取り出したデータを対象に四則演算する方法など、データを見やすくする方法を解説します - 2012年は私たちが勉強会を盛り上げる! (2012/1/23)
2011年12月、データベース業界初の女子会が発足しました。そこで、女子会を盛り上げていってくれそうな2人にお話を伺いました - 複数の条件を指定してSELECT文を実行する (2012/1/13)
複数の条件を指定してSELECT文を実行する方法と、条件指定に必要な論理演算子、比較演算子の役割を解説します
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
