web-dev-qa-db-ja.com

USB3.0デバイスの速度をテストする

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

期待できる読み取り速度と書き込み速度の範囲はどれくらいですか?書き込みで最大900MB /秒、読み取りで最大500 MB /秒でしたが、数値が高すぎると思います。キャッシュを正しくクリアしていませんか?速度をテストするために使用できる他のコマンドは何ですか?


更新:

おかげで user427539 の答えと zloster のコメント、速度をより正確に測定できるようになりました。私は16GBのUSBフラッシュスティックでテストしていて、1GBのデータを読み書きしています。書き込み用に22MB/s、読み取り用に46 MB/sを取得しました。しかし、そのような速度はUSB3フラッシュデバイスには遅すぎませんか?なぜ速度がそんなに遅いのでしょうか?

3
tmp

まず、あなたが書いているのはたった100MBです。ディスクとコントローラーにもドロップしていないキャッシュがあるため、これらのキャッシュが結果を破壊していないことを確認するには、より大きなテストが必要です。

それを少なくとも1GB増やしてください。たぶんbs = 1Mに変更することによって。念のため、通常は10GBでテストします。

次に、データが実際にディスクに到達することを確認する必要があります。これを行うには、最初の行の最後に「conv = fdatasync」を追加します。

通常の速度に関しては、USB2デバイス/ポートは通常10〜20MB /秒です。 USB3デバイスは50〜150MB /秒である必要があります。新しいデバイスが120MB /秒に達するのを見るととてもうれしいです。これは7.2GB /分で、非常に高速です。

ただし、回転するディスクは、プラッターが頭の下で回転する速度で読み取り/書き込みを行うことに注意してください。したがって、データ速度を計算できる密度(ビット/インチ)がわかっている場合は、次のようになります。

スループット=半径* 2PI *密度* RPM

実際には制御できない密度ですが、RPMが可能なほど、RPMが多いほど生の速度が速くなります。

また、プラッターの半径は、頭の位置によって変わることに注意してください。外側のトラックでは約1.75インチですが、内側のトラックではわずか0.75インチです。つまり、外側のトラックから内側のトラックに移動すると、ドライブの速度が大幅に低下します。バージンドライブでは通常、最初に外側のトラックに書き込む必要があるため、最初ははるかに高速になります。ドライブがいっぱいになると、速度が低下します。ほぼフルドライブでパフォーマンスが50%低下するのを日常的に見ています。

1
user427539