如何测量 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= 上的 nc
或 netcat
] 发行版。其次,您可以使用 /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
起初,我使用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= 上的 nc
或 netcat
] 发行版。其次,您可以使用 /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