Bandwidth, Latency, Jitter & Loss Testing with iperf, netperf & qperf on ESXi/VSR
This article walks through setting up a lab environment with ESXi, H3C VSR, and CentOS hosts, installing iperf, netperf, and qperf, configuring IP addresses and routes, disabling firewalls, and using these tools to measure bandwidth, latency, jitter, and packet loss, revealing surprising high‑throughput results and practical troubleshooting tips.
Experiment Environment
The testbed consists of a VMware ESXi 6.7 host (ProLiant DL360 Gen9, 48 CPU cores, 128 GB RAM), an H3C VSR1000 (Version 7.1.064, 2 CPU cores, 2 GB RAM), and three CentOS 7.9 VMs (each 4 CPU cores, 4 GB RAM). All devices have out‑of‑band management ports to keep management traffic separate from test traffic.
Network Configuration
Each VSR1000 interface (LINK01, LINK02, LINK03) is connected to a VM. For VM3, an additional NIC is added without an IP address. The address is assigned with: ip addr add 13.1.1.2/24 dev ens224 Routes to the other two subnets are added:
ip route add 11.1.1.0/24 via 13.1.1.1
ip route add 12.1.1.0/24 via 13.1.1.1The same steps are repeated for VM1 and VM2, enabling full inter‑VM connectivity.
Installing and Using iperf
Because iperf and netperf are not available via yum, they are downloaded as RPMs and installed manually:
wget https://iperf.fr/download/fedora/iperf3-3.1.3-1.fc24.x86_64.rpm rpm -ivh iperf3-3.1.3-1.fc24.x86_64.rpmAfter installation, the help output shows a client‑server model. The server is started with: iperf3 -s and the client test is launched with: iperf3 -c 13.1.1.2 The initial attempt fails because the host firewalls block the traffic. All three VMs have their firewalls stopped: systemctl stop firewalld After disabling the firewalls, the TCP test reports a bandwidth of about 6.3 Gbps, far exceeding the advertised 1 Gbps interface speed, suggesting the VSR’s physical port is capable of 10 Gbps or more.
UDP Test with iperf
Switching to UDP mode reveals jitter and packet‑loss statistics. The server shows jitter values and a non‑zero loss rate, confirming that UDP provides a more realistic view of network quality.
Testing with netperf
netperfis also unavailable via yum and is installed from an RPM:
wget http://repo.iotti.biz/CentOS/7/x86_64/netperf-2.7.0-1.el7.lux.x86_64.rpm
rpm -ich netperf-2.7.0-1.el7.lux.x86_64.rpmThe server side is started with netserver, and the client test runs: netperf -H 13.1.1.2 This also reports roughly 6.3 Gbps.
Testing with qperf
qperfcan be installed via yum or manually. The manual installation uses:
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/qperf-0.4.9-3.el7.x86_64.rpm
rpm -ivh qperf-0.4.9-3.el7.x86_64.rpmRunning qperf without arguments starts the server. A client test such as:
qperf 13.1.1.2 -oo msg_size:1:64K:*2 -vu tcp_bw tcp_latproduces a TCP bandwidth of about 782 MB/s (≈6.2 Gbps). Using a 64 KB message size pushes the measured bandwidth to 968 MB/s, indicating the VSR interface can handle near‑10 Gbps traffic.
Summary
The VSR interface name (GigabitEthernet) does not reflect actual capacity; tests showed up to ~8 Gbps.
All three tools operate in a client‑server mode, but command syntax differs. iperf and netperf require manual RPM installation, while qperf can be installed via yum.
TCP tests reveal bandwidth and latency; UDP tests expose jitter and packet loss.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
