USBドライブのボーレート測定

USBドライブのボーレート測定

USBポートの平均データ転送速度を求めるプログラムを書いてみたいです。どのように実装できますか?

私が考えることができる唯一の方法は、USBドライブがマウントされたパスに大容量ファイルを作成し、そのプロセスにどれくらいの時間がかかるかを調べることです。これより良い方法がありますか?

答え1

USB2は理論的には480Mbit/Secの速度に達することができます。これは(約)60Mbytes / Secに対応します。ハードドライブがこの速度に追いついていない場合、誤った結果が得られます。

1つのオプションは、1Gbit / Secを接続できると主張するUSB​​イーサネットアダプタを購入/借りることです。スイッチケーブルまたは1Gbit / secハブ/スイッチを介して1Gbit / secイーサネットポートを持つ他のコンピュータに接続します。

1台のコンピュータで実行しますnc -v -l -p 5000 > /dev/null。これはポート5000でリッスンし、受信したすべてを/dev/null

一方、実行してくださいtime yes|nc -v a.b.c.d 5000 >/dev/nulla.b.c.dリモートシステムのIPアドレスはどこにありますか?)。これは停止するまでリモートシステムに送信され、送信されたyデータ量とtime所要時間を印刷します。

しばらくして(例:10秒または20秒)、[転送を停止]をタップしてCtl-C速度を確認します。nc送信されたバイト数を印刷しますが、ビットが必要になる可能性があることに注意してください。bits = 8 * bytes

-v何が起こっているかを確認するには、コマンドにさらに追加する必要があります。

関連情報