メディア
特集
» 2007年08月01日 00時00分 公開

HDDベンチマークでeSATAの実力を探る実践リポート(4/5 ページ)

[Brian Dipert,EDN]

物理ディスクテストの結果

 筆者は、インターフェースとストレージデバイスをさまざまに組み合わせ、それらをOSの一般的な方法で動作させることにより、各組み合わせでのパフォーマンスを見極めようとしていた。その際、Sandraの物理ディスクテストを使ったベンチマークも試みた。物理ディスクテストでも興味深いデータが得られたが、解決した数と同じくらいの新たな問題や疑問が生じた。

 まず、表5にある「テスト不可」の部分を説明する。FireWire 800のPCIeボード(NitroAV 1394b)とOneTouch Managerの組み合わせやeSATAのアドインカードとSV2000の組み合わせに関する問題が発生しテストできなかったのである。

表5 物理ディスクテストの結果 表5 物理ディスクテストの結果 注)eSATA(アドインカード)のコンカチネイト、ミラー、ストライプ、ミラーストライプ、パリティRAIDはテストできなかった。NRはテスト結果がレポートされなかったという意味である。

 次に、内蔵SATAのベンチマークテストを省略したのは、内蔵SATAにOSとアプリケーションが保存されていたのでパーティションなしの読み込みテストと書き出しテストを実施できなかったためである。SiSoftware社のスポークスマンであるCatalin Adrian Silasi氏は「ユーザーがディスク上のデータを誤って破壊してしまうのを防ぐために、書き出しテストされるディスクにパーティションがあってはならない。パーティションが空であるかどうかはテストされないが、パーティションがあるか否かはテストされる。従って、ベンチマークを実行するときは、事前にパーティションをなくしておく必要がある」と述べた。

 物理ディスクテストの結果である図3(a)のグラフを見てみる。HDDのヘッドがプラッタ(データを記録する円盤)を0から100%の位置まで移動するに連れ、読み込みと書き出しのパフォーマンスが低下することに気付くだろう。この現象は、回転速度が一定のときにプラッタ半径上の各ポイントで測定される線速度と、それらと同じポイントでの記録密度を反映している。コンカチネイト構成でのSV2000の出力プロットを見れば、ベンチマークテストで5個のHDDで構成されたアレイにおいて、1つのHDDから別のHDDに移るのに伴い、アクセス時間が長くなるパターンが周期になって現れることがはっきりと分かる(図3(b))。

図3 プラッタ上のヘッド位置による読み込みスピードの違い 図3 プラッタ上のヘッド位置による読み込みスピードの違い (a)は1つのHDDでの結果であり、(b)は5つのHDDをコンカチネイト構成した場合の結果。HDDのヘッドがプラッタのどの位置にあるかによってデータ転送レートが変化することが示されている。

 物理ディスクテストのデータは興味深いが、そこから断定的な結論を導くのはあまりにも早計である。例えば、USB 2.0の数値を見てみよう。480メガビット/秒の転送速度しかサポートしていないインターフェースが、どのようにして83メガバイト/秒(664メガビット/秒)の転送速度を達成できるのか疑問である。

 SiSoftware社のSilasi氏は次のように語る。

 「このテストでは、WindowsのI/O関数を使ってRawセクターの読み込みと書き出しを行う。ほかのベンチマークのようにファイルを開くのではなく、ディスクにアクセスする。バッファリングの使用が指定されていないが、実際にこれらの要求に応えるかどうかはドライバ次第である。おそらく多くの人が知っているだろうが、Microsoft社がWindows XPとWindows Server 2003を発売したとき、SCSI HDDの書き出しパフォーマンスは低下した。Sandraだけでなく、ほかのベンチマークでも結果は同じだった。このパフォーマンス低下の理由は、SCSI HDDがそれらのフラグを受け付けたからだ。一方、IDE HDDは、フラグの設定に関係なくバッファリングを行う。ディスクのドライバが、そのように指示されていなくても、パフォーマンスを上げるために先回りしてキャッシュと読み込みを行う可能性がある」。

 もう1つ、奇妙なことがある。ベンチマークテストではOSに依存しない方法でデバイスにアクセスするはずなのに、ストレージデバイスがパーティション化されているかどうかによって読み込みパフォーマンスの結果が大きく異なることがよくあるのだ。Silasi氏は「このベンチマークでは、バッファリングなしのRawセクターへのI/O関数を使用する。ストレージデバイスがフォーマットされているかどうかで差が生じることはない。つまり、パーティションの有無でパフォーマンスが変わるようなことはあり得ない」と述べている。ここでも同氏は再び、「ドライバが自らバッファリングの目的で割り当てたシステムメモリーを使ってデータをキャッシュすることがあり、それが不確実な結果の原因となっている可能性がある」と付け加えている。

 実行時のわずかな差を勘案しても、誤差数%以内で再現できないベンチマーク結果は信用できない。筆者は以下のステップで、コンティギュアスでのSV2000の読み込み性能をテストした。

【ステップ1】

パーティションなし、1レーンPCIeベースのeSATA

【ステップ2】

パーティションなし、8レーンPCIeベースのeSATA

【ステップ3】

パーティションあり、1レーンPCIeベースのeSATA

【ステップ4】

パーティションあり、8レーンPCIeベースのeSATA≫

 各ステップはHDDごとに実施した。ステップ1では、それぞれが0%のヘッド位置で55メガビット/秒の読み込み速度を達成した(図4(a))。しかし、ステップ2の途中で、0%位置の速度が93メガビット/秒まで上昇し、ステップ3から4にかけてもそのままだった(図4(b))。直感的に、筆者は最初からテストをやり直すことを決め、ステップ1とステップ2の構成で、5つすべてのHDDを再テストした。その結果、すべてのHDDが93メガビット/秒の初回アクセス速度を達成することとなった。

 最後に、ファイルシステムテストでSV2000をパリティRAIDで実行したときに発生した深刻なパフォーマンス劣化は、物理ディスクテストでは見られなかったことを付け加えておく。

図4 安定した結果が得られないことを示すグラフ 図4 安定した結果が得られないことを示すグラフ (a)は1回目の読み込みテストの結果であり、(b)は2回目の読み込みテストの結果。1回目と2回目でテストの設定がまったく同じであるとは言い切れないものの、ベンチマークが信頼性に欠けることを表している。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.