如何测量 Linux 服务器上两个节点之间的数据传输速率?必须忽略磁盘的影响

How to measure data transfer rate between two nodes on Linux Server ? Must ignore the effect of disk

起初,我使用scp将文件从node9复制到node10。但是这种方法不满足我的purposes.Cause scp 会被 disk.Result 意外影响 result.So ,我该怎么办?我的以太网是 10Gbit/s。

也许我用netperf.And解决了这个问题,这是这个软件的网址。enter link description here

测试成绩9409.88Mb/s 理论值10000Mb/s

两件事...首先,scp 已加密,因此加密也需要时间,因此请考虑使用安装在大多数 [=38= 上的 ncnetcat ] 发行版。其次,您可以使用 /dev/zero 非常快速地生成数据。所以...

快速生成数据

让我们从 /dev/zero 生成 10 GB 的数据并丢弃到 /dev/null 以检查我们生成数据的速度:

dd if=/dev/zero bs=1024k count=10000 > /dev/null
10000+0 records in
10000+0 records out
10485760000 bytes transferred in 0.573830 secs (18273282446 bytes/sec)

None 18 岁太寒酸了 GBytes/sec。

跨网络传输

现在,在node10上,监听8000端口准备接收数据,然后丢弃接收到的数据:

nc -l 8000 > /dev/null

然后,在 node9 上,发送数据并计时:

dd if=/dev/zero bs=1024k count=10000 | nc node10 8000