外付け USB ハードドライブの容量が 3 分の 1 しか使用されていないのに、速度が遅くなるのはなぜですか?

外付け USB ハードドライブの容量が 3 分の 1 しか使用されていないのに、速度が遅くなるのはなぜですか?

外付け USB3 ハード ドライブ (*) の読み取り/書き込み速度は、ディスクが空の場合 (通常のファイルなし、使用容量 10 MB 未満) は、適度にいっぱいの場合 (250 万ファイル、使用容量約 1 TB) に比べて大幅に速くなります。

速度の結果を示す表は、シーゲイト 3TB ハードドライブ測定されたXベンチアプリとdd(**) コマンドを使用します。Xbench では、スコアが高いほどディスク速度が速いことを意味します。dd出力 (秒) では、スコアが低いほど高速です。

╔═════════════╦════════╦══════╗
║ Disk config ║ XBench ║  dd  ║
╠═════════════╬════════╬══════╣
║ Empty       ║    140 ║  25s ║
║ 1/3 full    ║    100 ║  56s ║
╚═════════════╩════════╩══════╝

したがってパフォーマンスは少なくとも 30% 低下します。なぜですか?iMacのOSXシステムのクローンバックアップにドライブを使用しているため、多くのファイルが含まれていますが、すべてのファイルは1つの大きな書き込みタスクで書かれた(Carbon Copy Cloner を使用) つまり、ディスクはそれほど断片化されていないはずです。さらに、いっぱいになったドライブは 30% までしか使用されていないため、十分な空き領域が残っています。

この速度低下は正常ですか? この理由は何ですか?ドライブの容量に応じて速度低下を示す計算式はありますか?


(*) 私が使用しているハードドライブはシーゲイト拡張 2TBそしてWD マイブックスタジオ 3TBこれらはUSB3経由でiMacに直接接続されています。

(**) ここで、(書き込み)速度をテストしている dd コマンドは次のとおりです。dd bs=1024k count=4096 if=/dev/zero of=/Path/To/Volume/test

答え1

小さなファイルが非常に多いため、パフォーマンスの低下はファイルシステムのオーバーヘッドによるものと考えられます。

250 万個のファイルで構成される 1 TB のデータを、少数の非常に大きなファイルのみで構成される 1 TB のデータに置き換えて、同じベンチマークを実行してみてください。

@Josh Vazquez が述べたように、HDD は容量がいっぱいになるとパフォーマンスが低下しますが、私が見た限りでは、ドライブが約 1/3 いっぱいになったときにパフォーマンスが低下するのは、おおよそ 10% 程度であり、あなたが見ているような 30% 以上の低下は見られません。

関連情報