このエントリーをはてなブックマークに追加このエントリをつぶやく

MySQLをHDD/RAID0/SSD/RAMDISKの上で走らせてみる(その4)

■■■■■ ベンチマーク結果 ■■■■■

■結果の前にまずは考察
ランダムアクセスの速度がHDDとSSD・RAMDISKの間で大きく異なるため、ベンチマークの結果も大きな差になることが推測されます。また、同時接続数の増加(=高負荷)時のベンチマークの伸びもSSD・RAM DISKのほうが大きいと推測されます。最後にSSDとRAM DISKは傾向は似ているものの、RAM DISKのほうが4~10倍速いため、CPUを使いきらない限りはCrystalDiskMarkの差がそのままtpccベンチマークの差になると推測しました。

■結果
ベンチマークの結果は以下の通りになりました。数値は1分間に処理できた注文数です。これがベンチマークの結果になります。
ベンチマーク結果
ベンチマーク結果

■まとめ
まずHDD利用時の結果ですが、シングルボリュームとRAID0使用時の差はCrystalDiskMarkの結果をほぼ反映しています。また、高負荷になるとランダムアクセスに弱いHDDはもっと値を落とすかと思っていましたが、意外と健闘していることがわかります。ちなみにテスト時のサーバのCPU負荷も5~10%前後であり、IO待ちのために処理が伸びないことを証明しています。

そして、予想通りHDDとSSDの間に大きな差がでました。高負荷時に伸びがHDDよりも良いだろうという予想も当たっています。接続数1と6を比較すると、HDD/RAIDで1~1.5倍程度の増加なのに対し、SSDで2.5~4倍、RAMDISKにいたっては5倍まで伸びています。そして接続数16の時点でほぼ最高に達し、HDD/RAIDで1.3~2倍、SSDで3.3~5倍、RAMDISKで6.2倍までスコアが伸びています。

ちなみにSSD使用時のサーバの負荷は80%~90%程度とHDDに比べてストレージが早くなった分、CPUも使用効率が上がっています。RAM DISK使用時は90~95%までCPU使用率があがりました。

逆に予想が当たらなかったのはSSDとRAMDISKのスコアの差です。RAMDISKはデータの読み書きそのものにCPUを使う以上、CPU利用率は他よりも上がることは想定していましたが、CPUを使い切るまではリニアに結果が上がると推測していました。しかし実際にはCPUを90%以上使ってはいるものの100%に張り付いている状態ではありません。それにもかかわらず、スコアは最大でも1.4倍程度の差にとどまりました。これについてはもう少し追試してみるかもしれません。

とりあえずはこんな感じでしょうか。わかってはいたものの、HDDとSSDの大きな差に新たな時代の到来を感じずにはいられません。耐久性などまだまだ検証しなくてはならない内容はありますが、この結果を実際の仕事に生かしていきたいと思います。

ということで、高負荷でも安定したシステムを開発してほしい、今ある業務システムをもっと高速化したいなどの要望があるかたはこちらまで(笑)。

MySQLのクラスタを使用したシステムや、Amazon EC2のオートスケールを利用し、高負荷時には自動的に負荷分散するシステムなど、変わったシステムを色々と組んでおります!

では~

Jotaro Inoue の紹介

代表取締役社長
カテゴリー: プログラミング   パーマリンク

MySQLをHDD/RAID0/SSD/RAMDISKの上で走らせてみる(その4) への1件のコメント

  1. ピンバック: MySQLをHDD/RAID0/SSD/RAMDISKの上で走らせてみる(その3) | SpiriteK Blog