我正在尝试检查以太网的最大传输速度是多少。在我的本地网络中,我希望 Linux 设备和 Microsoft 计算机之间进行通信。
我尝试使用dd if=/dev/zero | ssh user@ip
Microsoft 机器,但它不接受该dd
命令。我尝试过scp
但无法发送dev/zero
。我阅读了有关该pv
命令的信息,但我不想在 Linux 设备上安装其他软件。
也许可以在 Microsoft 计算机上使用 FTP 客户端并下载dev/zero
以获得无限的数据流,并在下载时运行如下脚本(https://gist.github.com/cjsewell/96463db7fec6faeab291)来检查传输速度。
有更好的方法建议吗?
答案1
我正在尝试检查以太网的最大传输速度是多少。在我的本地网络中,我希望 Linux 设备和 Microsoft 计算机之间进行通信。
建议你保持简单,你不需要做流无限零。
- 在linux上安装samba[服务器]并打开共享文件夹,例如
/tmp
. - 在 Linux 上,如果它是系统键入系统,然后
systemctl enable tmpfs.mount
重新启动。这会将/tmp
文件夹放入 RAM 中,并防止磁盘 I/O 弄乱传输编号。这样,所有数据都将存储在 RAM 中,并且发生的最慢的事情将是通过以太网传输,无论这些跃点是什么。 - 创建一些大小约为 10GB 的 .tar 文件,如果您想在较长时间内测试传输速度,请创建更大的文件。
- 使用 samba 设置从 Windows 计算机连接到 Linux 服务器,来回移动 ~10gb 文件并观察 Windows 弹出窗口中的传输速度。
从 linux 到 linux,使用scp
通过 SSH 的安全复制,您会发现由于 SSH 的开销而有所减少。当您执行操作时,它会整齐地为您打印出传输速度scp
。
在 1gbps 有线网络上,例如通过 6' cat6 电缆彼此相邻的 2 个系统,我看到 Windows 和 Linux 之间的传输速度稳定为 112 MB/秒。
通过 SSH 在局域网有一些交换机(不是路由器)时,速度通常约为 80 MB/秒;这是在 rhel 7 上。
1gbps = 1000 兆比特每秒,并且是理论的不考虑以太网开销。 1000 /(每字节 8 位)= 理论最大值 125 MB/秒。观看率约为 112 MB/秒,即 89.6%。我从未在 Windows 计算机上的弹出窗口中显示过在 1gbps 有线网络上超过 113 mb/秒的速度。
fwiw:刚刚在工作环境中 1gbps 有线网络上的两个 rhel 7.9 系统之间创建了一个 7.6gb tar 文件scp
,因此至少存在 2 个 [昂贵的] cisco 路由器。大楼内的一切。从具有 512GB RAM 的服务器安全复制到具有 SSD 和 16GB RAM 的电脑。 SCP 以 1 分 11 秒完成,最后表示速度为 106.5 MB/s。因此,请考虑将 106 mb/s 与 112 mb/s 的传输速度作为基准...84.8% 与 89.6% 以及由于 ssh 开销而导致的速度大致降低。