【发布时间】:2020-10-07 23:54:58
【问题描述】:
我现在正在使用 netperf 在 Ubuntu 机器上进行带宽测试。
我在同一主机上设置了一个 netperf 客户端和一个 netperf 服务器。我在客户端和服务器之间做了一些主机内数据包转发。
但是我发现 netperf 的默认设置无法充分利用主机内带宽。
我之前用iperf3做主机内包转发带宽测试。带宽通常在 35 Gbps 左右。
当我使用netperf做主机内包转发带宽测试时,我得到的带宽只有11Gbps左右,考虑到主机内包转发带宽,这个带宽太小了。下面是 netperf 测试的输出:
在 netperf 的输出中让我感到困惑的是“发送消息大小”的含义。是数据包大小吗?但是通常当我们谈论数据包大小时,我们将其称为 MTU 大小或 MSS 大小。那么netperf中“发送消息大小”的真正含义是什么。
我也尝试将“Send Message Size”的数量改为128KB(131072B),等于“Recv Socket Size”。本次主机内包转发带宽将在35Gbps左右,有望充分利用主机内带宽。那么为什么“发送消息大小”会影响带宽的测量。这真的让我感到困惑。谁能给我一些指导?谢谢。
【问题讨论】:
标签: performance networking linux-kernel bandwidth