« 「自由な情報」のためのウェブブラウザ | メイン | Q4M 0.8.4 をリリースしました »

2009年02月06日

SSD (フラッシュメモリ) のベンチマークと選定基準

 サーバ側での使用を目的とした SSD のベンチマークや選定基準については、これまでもいろいろ書いてきましたが、では、どのような点に着目して SSD を選定すべきかについて、少し触れておきたいと思います。というわけで、まずはベンチマークの紹介から。データベースのストレージとして使うことを念頭においた、16KB のランダムアクセステストです。

16KB Random Access
Read (MB/sec) Write (MB/sec)
HDD (Maxtor 7L250S0) 2.64 12.0
SSD (Intel X25-M) 38.0 46.4
SSD (STEC 32GB) 26.7 0.88
SDHCカード 9.46 0.11
USBメモリ 11.7 0.08

 ベンチマークに使用したのは、一般的な HDD、高速性で有名な Intel の SSD、ネットブック (DELL Inspiron Mini 9) の内蔵 SSD (STEC 製, 32GB)、および SanDisk の SDHC カード (SanDisk Extreme III) です

 この表を見て2つの SSD を比較すると、読み込みパフォーマンスの差がそれほど大きくないことに気づきます。また、SD カードの読み込み速度も、HDD を大きく上回っています。つまり、ランダムリードについては、メーカーや SSD 間の差は、あまり大きくない、ということになります。

 一方で、書き込みパフォーマンスについては、非常に大きな差があります。X25-M と STEC の SSD の差は、実に 50 倍にのぼります (SSD の書き込みバッファをオフにした場合の値はこちらの表を参照のこと)。また、SDHC カードに至っては、更に遅く 110KB/sec、書き込み回数に換算すると毎秒約7回と、フロッピーディスクを思い出すようなレイテンシになっています。ただ、これは、SDHC カードの一般的な用途、あるいは、実装面積が限られていてメモリを並列に実装できないこと、等を考えるとしょうがない、とするべきでしょう。

 まとめ。サーバ用に SSD を選定する場合、以下のように考えればいいのではないか、と思っています。

  • 注意すべきはランダムライトパフォーマンス
  • 読み込み専用なら安い SSD を購入すれば良い

 バックアップや冗長化が必要なのは (SSD に限ったことではないですが) 言うまでもないかと思います。適切なベンチマーク基準の作成方法や運用ノウハウ等につきましては、各参考リンクをごらんください。

参考:
ウェブサービスの SSD 化について話してきました
ウェブサービスにおける SSD 導入にむけて〜検索サービスの可能性 Benchmarking SSD for MySQL

注: (2月10日) USB メモリ (BUFFALO RUF2-J8GS) を追加

投稿者 kazuho : 2009年02月06日 15:07 このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

トラックバック

このエントリーのトラックバックURL:
http://labs.cybozu.co.jp/cgi-bin/mt-admin/mt-tbp.cgi/2132

コメント

もし、可能でしたら、ぜひ、MySQL でのトランザクション数で結果を出してください!

投稿者 yukoba : 2009年02月06日 20:12

そのほうが分かりやすいのかもしれないんですが、適切なワークロードが何か、ってのが難しいんですよね。オススメのベンチマークがあれば、教えてください。

投稿者 kazuho : 2009年02月07日 11:30