パソコン入れ替えでRAID0を組むためにSSDを3台入手しましたが、OSをインストールする前にRAIDのストライプサイズやキャッシュ等による速度への影響をベンチマークで調べて最適な設定を探ってみました。
テスト環境は以下のとおり。
CPU: Intel Core i7 5820K 定格
M/B: MSI X99S SLI PLUS
MEM:Crucial DDR4-2133 4GB×4枚
SSD:CFD CSSD-S6T128NHG6Q (128GB 3台)
これに、OSへのアクセス負荷をなくすため、OSインストール用に適当なHDDをとりつけWindows7 Ultimate 64bit版をインストール。
M/B付属の最低限のデバイスドライバーと、X99チップセットに対応している最新のIRST(2014/8/1 Ver.13.2.4.1000)をインストールした環境でベンチマークを取りました。
なお、SSD 1台での速度は次のとおりです。
SSD単体構成の時点で、既に旧メインPCのIntel X25-M RAID0構成を超えちゃってます...。
まず、ストライプサイズを16KBに固定し、キャッシュ周りを変更してテストしました。
設定は
初期値ではライトバックキャッシュが選択できませんが、バッファの設定(書き込みキャッシュ バッファのフラッシュ)を無効にすることで選択可能になります。
電源断などのトラブル時にSSDへまだ書き込み途中でキャッシュが残っているとデータロストする危険が生じますが、高速なキャッシュに書き込みが終わった時点でOSには書き込み終了が通知されるので、書き込み速度の高速化が見込めます。
結果は以下のとおり。
読み込み性能に影響するのはリードオンリーキャッシュ有効時で、わずかに高速化しているようです。
しかしSSD 3台のRAID0構成自体が爆速のため、誤差程度の影響しかないようです、
それに引き換え、ライトバックキャッシュ有効時は明らかに書き込み性能の高速化が見て取れます。
シーケンシャルも十分伸びていますが、ランダムライトの伸びっぷりがすごいです。
ランダム4KBについては5倍速くらいになっています。
データロストの危険性をはらみますが、SSDにはOSやアプリを入れて、マイドキュメント等を含む個人データをHDDに保存する運用をしていれば、ライトバックキャッシュを有効にして運用してもあまり心配はしなくてもいいかと思います。
保証はできませんけど。
----------
次に、ストライピングサイズによる速度の比較です。
キャッシュの影響を受けないよう、ストライピングサイズ以外は
バッファ有効 キャッシュ無効
の設定で統一してあります。
以下が結果です。
・リード速度について -----
シーケンシャルリード速度については、ストライプサイズが大きくなるほど高速化するようです。
ただし、32KBあたりから頭打ちになり、64KB、128KBでは変化なしといえます。
ランダム512KBリード速度については、ストライプサイズが大きすぎても小さすぎてもよくないようです。
16KBまたは32KBが適切で、適切な値から離れるほど速度低下しています。
ランダム4KBリードについては、ストライプサイズの差による明確な差は見いだせませんでした。
CPU: Intel Core i7 5820K 定格
M/B: MSI X99S SLI PLUS
MEM:Crucial DDR4-2133 4GB×4枚
SSD:CFD CSSD-S6T128NHG6Q (128GB 3台)
これに、OSへのアクセス負荷をなくすため、OSインストール用に適当なHDDをとりつけWindows7 Ultimate 64bit版をインストール。
M/B付属の最低限のデバイスドライバーと、X99チップセットに対応している最新のIRST(2014/8/1 Ver.13.2.4.1000)をインストールした環境でベンチマークを取りました。
なお、SSD 1台での速度は次のとおりです。
SSD単体構成の時点で、既に旧メインPCのIntel X25-M RAID0構成を超えちゃってます...。
まず、ストライプサイズを16KBに固定し、キャッシュ周りを変更してテストしました。
設定は
- バッファ無効 ライトバックキャッシュ
- バッファ有効 ライトスルーキャッシュ
- バッファ有効 リードオンリーキャッシュ
- バッファ有効 キャッシュ無効
初期値ではライトバックキャッシュが選択できませんが、バッファの設定(書き込みキャッシュ バッファのフラッシュ)を無効にすることで選択可能になります。
電源断などのトラブル時にSSDへまだ書き込み途中でキャッシュが残っているとデータロストする危険が生じますが、高速なキャッシュに書き込みが終わった時点でOSには書き込み終了が通知されるので、書き込み速度の高速化が見込めます。
結果は以下のとおり。
読み込み性能に影響するのはリードオンリーキャッシュ有効時で、わずかに高速化しているようです。
しかしSSD 3台のRAID0構成自体が爆速のため、誤差程度の影響しかないようです、
それに引き換え、ライトバックキャッシュ有効時は明らかに書き込み性能の高速化が見て取れます。
シーケンシャルも十分伸びていますが、ランダムライトの伸びっぷりがすごいです。
ランダム4KBについては5倍速くらいになっています。
データロストの危険性をはらみますが、SSDにはOSやアプリを入れて、マイドキュメント等を含む個人データをHDDに保存する運用をしていれば、ライトバックキャッシュを有効にして運用してもあまり心配はしなくてもいいかと思います。
保証はできませんけど。
----------
次に、ストライピングサイズによる速度の比較です。
キャッシュの影響を受けないよう、ストライピングサイズ以外は
バッファ有効 キャッシュ無効
の設定で統一してあります。
以下が結果です。
・リード速度について -----
シーケンシャルリード速度については、ストライプサイズが大きくなるほど高速化するようです。
ただし、32KBあたりから頭打ちになり、64KB、128KBでは変化なしといえます。
ランダム512KBリード速度については、ストライプサイズが大きすぎても小さすぎてもよくないようです。
16KBまたは32KBが適切で、適切な値から離れるほど速度低下しています。
ランダム4KBリードについては、ストライプサイズの差による明確な差は見いだせませんでした。
・ライト速度について -----
シーケンシャル、ランダムともにストライプサイズが32KBを超える辺りから速度の低下が見られます。
32KB以下ではだいたい誤差程度の差ですが、唯一32KB時にシーケンシャル、ランダム512KB、ランダム4KBの全てにおいて誤差とはいえない程度に高速化しているようです。
シーケンシャル、ランダムともにストライプサイズが32KBを超える辺りから速度の低下が見られます。
32KB以下ではだいたい誤差程度の差ですが、唯一32KB時にシーケンシャル、ランダム512KB、ランダム4KBの全てにおいて誤差とはいえない程度に高速化しているようです。
このような結果になりました。
この結果から、ストライピングサイズ 32KBが最も適切ではないか、と判断しました。
シーケンシャルリード時にあと少し伸びしろを残すものの、シーケンシャルリードはもともと十分速いので割合で言えば大したことはなく、それに引き換えライト速度にアドバンテージがあるためです。
64KB, 128KBはシーケンシャルリードが1600MB/sを超えていて華がありますが、それ以外のリード・ライトがかなり落ち込むため、浪漫を求めるのでなければ選択肢外ですネ。
今回こんなにベンチを細かくとってみた背景には、OSを入れる前にストライプサイズの適切値をググってみたところ、トップに出てきたDos/Vパワレポの「16KBが最速」(次点で4KB)という記事をみて、16KBに設定して念のためベンチを取ってみたら1500MB/sに届かず、疑問を抱いたことがきっかけでした。
記事がかなり古いこともあるかもしれませんが、記事ではSSD 2台構成に対し今回は3台構成のため、そのあたりが影響していることも考えられます。
今回の結果では32KBが最適という判断になりましたが、2台構成でRAIDを組む場合には念の為に16KBと32KBくらいは比較してみるといいかもしれません。
新PCではストライプサイズ32KBにライトバックキャッシュを有効にした状態で運用してみようと思います。
この結果から、ストライピングサイズ 32KBが最も適切ではないか、と判断しました。
シーケンシャルリード時にあと少し伸びしろを残すものの、シーケンシャルリードはもともと十分速いので割合で言えば大したことはなく、それに引き換えライト速度にアドバンテージがあるためです。
64KB, 128KBはシーケンシャルリードが1600MB/sを超えていて華がありますが、それ以外のリード・ライトがかなり落ち込むため、浪漫を求めるのでなければ選択肢外ですネ。
今回こんなにベンチを細かくとってみた背景には、OSを入れる前にストライプサイズの適切値をググってみたところ、トップに出てきたDos/Vパワレポの「16KBが最速」(次点で4KB)という記事をみて、16KBに設定して念のためベンチを取ってみたら1500MB/sに届かず、疑問を抱いたことがきっかけでした。
記事がかなり古いこともあるかもしれませんが、記事ではSSD 2台構成に対し今回は3台構成のため、そのあたりが影響していることも考えられます。
今回の結果では32KBが最適という判断になりましたが、2台構成でRAIDを組む場合には念の為に16KBと32KBくらいは比較してみるといいかもしれません。
新PCではストライプサイズ32KBにライトバックキャッシュを有効にした状態で運用してみようと思います。
前記事にてtsエンコード等の質問でお世話になったものです。
改めてこちらのページを見させてもらいました。色んなジャンルに精通されていて濃い内容なのでとても読み応えがありました。
と言うのも私の興味が有るものが多いですね^^;
◯自宅サーバ→構築してましたがお世話が面倒で現在停止中
◯レガシィ→BPですが乗ってました
◯バイク→色々乗りました。最後に乗ったのがバンディット
◯スマホ→XperiaZ3に買い替え予定です
◯艦これ→やってました
◯カメラ→NEX6使用してます
◯オーディオ→凝ってました
などなど
ちょくちょくお邪魔させて頂きますのでこれからもよろしくお願いします。
私もcrayfishさんのblogの方へお邪魔させていただきましたところ、とても幻想的な写真がたくさん掲載されていて驚きました。
まだまだカメラについては初心者で、頭ではわかってもいざ撮影するときにどう設定したらよいやら、試行錯誤ばかりです。結果、失敗を恐れてカメラ任せの半自動+ちょっとパラメータいじる程度の写真ばかりになっちゃってますが…。
レンズもSigmaの安物単焦点くらいしかなく、撮影もblog用のブツ撮りばかりですが、きれいな写真を撮れるようになりたいものです。