我的网络传输速度很慢(26 MB/s)。传输开始时速度为 120 MB/s,然后每秒下降一次。
我正在将 350 GB 的文件从安装在 Windows 7 上的 E-Sata (7200rpm) 驱动器传输到 Ubuntu Samba 共享 (在 esxi 上)。 Samba 共享通过 IP 地址映射到 Win 7 上的驱动器号。
ethtool eth0 显示:
eth0 的设置:
支持的端口:TP
支持的链接模式:10/100 半/全,1000/全
支持自动协商:
是 公布的暂停帧使用:否
公布的自动协商:是
速度:1000MB/s
双工:全
端口:双绞线
PHYAD:0
收发器:内部
自动协商:开
MDI-X:未知
支持唤醒:d 唤醒
:d
当前消息级别:7
检测到链接:是
答案1
只需尝试在 Linux 中使用 dd 测试磁盘的写入速度。然后使用 iperf 检查您的网络。您就会知道瓶颈在哪里。
答案2
硬盘几乎肯定只支持~26MBps。即使是最新推出的 SATA 硬盘也只能勉强达到这个数字的两倍(在理想条件下)。
120MBps 的初始速度实际上根本不可能实现;1000Mb / 8 * 80% = ~100MBps(实际最大值)。Windows 缓存正在玩弄数字,因此初始速度很高,一段时间后,数字稳定在可持续吞吐量。
答案3
大家应该知道:在 Ubuntu 20.04.1 和 ARM64(符合标准 x64 系统)上,我使用 Samba 以大约 115 MB/s 的速度进行双向传输,这意味着使用千兆以太网,您可以实现比问题中提到的更高的速度——使用 SSD 驱动器、内存或从中生成的数据/dev/zero
。
问题可能是:
- 以太网在一侧(源/目标)以 100 Mb/s 的速度工作
- 文件系统不合适(我的情况是 NTFS 的速度不超过 30 MB/s)
- SATA 硬盘的最大速度约为 130 MB/s