私はLinux上のNTFS(-3g)のパフォーマンスがWindows上のNTFSのパフォーマンスよりも遅いという事実を受け入れました。 Windowsでは約100 MB / sの速度で外部NTFS形式のUSB 3.0 HDDに書き込むことができますが、Debian(Wheezy)コンピュータでは30 MB / s(提供または受信)に達する必要があります。
しかし、これは問題ではありません。 (経験上)私の箱からHDDに20個のファイルをコピーしたい場合、コピーは「通常」30MB / sで始まりますが、徐々に4MB / sに遅くなることがわかりました!ただし、5つのファイルを同時に(連続)コピーすると、コピー速度は30 MB / sに保たれます。4つすべてコピープロセス。ちなみに、これはDebianに限定されていません。 FedoraとUbuntuで同様の動作を観察しました。
私の質問はこの動作が正常ですか?心配すべきでしょうか?問題が発生した場合は、どのようにデバッグ/修正する必要がありますか?
ベストアンサー1
パラレルコピーを実行すると、ドライブヘッドのシーク待機時間の影響を確認できます。
ほとんどのファイルシステム(NTFSおよびext [234]を含む)の場合、データはドライブの他の場所に保存されます。これにはファイルシステム情報があり、ブロック割り当てデータがあり、ファイルデータモードがあります。
単一のファイルに書き込むと、メタデータは比較的ほとんど変更されないため、ヘッドはほとんどデータブロックを書き込むための正しい場所にあります。 20個の同時書き込みを実行する場合、ヘッドはブロック割り当て領域とデータ領域の間を約20倍頻繁に移動する必要があり、測定されたディスクヘッドのシーク時間は数十ミリ秒です。
ネイティブファイルシステムに書き込むときに実行されたクエリの量によっては、少しの自由を得ることができます(たとえば、利用可能なリストの一部のコピーをメモリに保持し、そのコピーを頻繁に書き込むことなく多くのクエリを節約できます)。 Windows の NTFS にも同じことが当てはまると予想していますが、NTFS Linux ファイルシステム開発者は不注意でパフォーマンスよりも一貫性を選択できません。