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



首先,我使用scp将文件从node9复制到node10,但是这个方法不能满足我的目的。产生原因scp会受到磁盘的影响。导致意想不到的结果。那么,我该怎么办呢?我的以太网是10Gbit/s

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

快速生成数据

让我们从/dev/zero生成10gb的数据,并丢弃到/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)

18 gb/秒的速度还不错。

跨网络传输

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

nc -l 8000 > /dev/null

在node9上发送数据并计时:

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

也许我已经通过使用netperf解决了这个问题。这是这个软件的网站。在这里输入链接描述

测试结果9409.88 Mb/s理论值10000Mb/s

最新更新