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/null
(a.b.c.d
リモートシステムのIPアドレスはどこにありますか?)。これは停止するまでリモートシステムに送信され、送信されたy
データ量とtime
所要時間を印刷します。
しばらくして(例:10秒または20秒)、[転送を停止]をタップしてCtl-C
速度を確認します。nc
送信されたバイト数を印刷しますが、ビットが必要になる可能性があることに注意してください。bits = 8 * bytes
-v
何が起こっているかを確認するには、コマンドにさらに追加する必要があります。