コマンドを調べましたhdparm
が、すべての例はディスクのテスト用です。外部 USB デバイス (具体的には USB フラッシュ スティック) のテストに使用できるかどうかはわかりません。
現在このコードを使用しています:
dd if=/dev/zero of=/media/storage/speed_test.txt bs=100K count=1k
sudo /sbin/sysctl -w vm.drop_caches=3
dd if=$/media/storage/speed_test.txt of=/dev/null bs=100K count=1k
期待できる読み取り速度と書き込み速度の範囲はどのくらいですか? 書き込み速度は約 900 MB/秒、読み取り速度は約 500 MB/秒でしたが、数値が高すぎると思います。キャッシュを正しくクリアしていないのでしょうか? 速度をテストするために使用できる他のコマンドは何ですか?
アップデート:
感謝user427539
の答えとzloster
のコメントのおかげで、より正確な速度測定ができるようになりました。16GB の USB フラッシュ スティックでテストし、1GB のデータの書き込みと読み取りを行っています。書き込み速度は 22 MB/秒、読み取り速度は 46 MB/秒でした。しかし、このような速度は USB3 フラッシュ デバイスとしては遅すぎませんか? なぜ速度がこんなに遅いのでしょうか?
答え1
まず、書き込むのは 100 MB だけです。ディスクとコントローラーには削除しないキャッシュもあるため、それらのキャッシュが結果を破損していないことを確認するために、より大きなテストが必要です。
少なくとも 1GB 増やしてください。おそらく bs=1M に変更するでしょう。私は念のため 10GB でテストします。
次に、データが実際にディスクに書き込まれることを確認する必要があります。そのためには、最初の行の最後に「conv=fdatasync」を追加します。
通常の速度については、USB2 デバイス/ポートは通常 10 ~ 20 MB/秒です。USB3 デバイスは 50 ~ 150 MB/秒です。新しいデバイスが 120 MB/秒を達成したらとてもうれしいです。これは 7.2 GB/分で、非常に高速です。
ただし、回転ディスクは、ヘッドの下のプラッターが回転する速度で読み取り/書き込みを行うことに注意してください。したがって、密度 (ビット/インチ) がわかれば、データ速度を計算できます。
スループット = 半径 * 2PI * 密度 * RPM
密度は実際には制御できませんが、RPM は制御でき、RPM が高いほど、生の速度が速くなります。
また、プラッターの半径はヘッドの位置によって変わることにも注意してください。外側のトラックでは約 1.75 インチですが、内側のトラックでは 0.75 インチです。つまり、外側のトラックから内側のトラックに移動すると、ドライブの速度がかなり低下します。Virgin ドライブでは通常、最初に外側のトラックに書き込むため、最初は速度がかなり速くなります。ドライブがいっぱいになると、速度は遅くなります。ほぼいっぱいのドライブでパフォーマンスが 50% 低下することがよくあります。