测量 USB 驱动器的传输速度

测量 USB 驱动器的传输速度

我想编写一个程序来找出 USB 端口的平均数据传输速度。我该如何实施它?

我能想到的唯一方法是将一个大文件写入 USB 驱动器安装的路径并找出该过程的时间。还有比这更好的方法吗?

答案1

USB2理论上可以达到480Mbit/Sec的速度。这相当于(非常粗略地)60Mbytes/Sec。如果您的硬盘无法跟上这种速度,那么您将得到错误的结果。

一种选择是购买/借用一个声称可以连接 1 Gbit/Sec 的 USB 以太网适配器。通过交换电缆或 1Gbit/秒集线器/交换机将其连接到另一台具有 1Gbit/秒以太网端口的计算机。

在一台机器上运行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您可能需要在命令中添加更多s 以便您可以看到发生了什么。

相关内容