Linux – VMXNET3 performance on Linux on ESX 5.0

linuxperformanceredhattcpvmware-vsphere

What kind of performance can I expect from VMXNET3 adapter when running two Linux guests on the same VMware ESX private network defined between those guests? I use VMXNET3 adapter for communicating between these OSs and E1000 adapter to talk to external world.

When I run iperf TCP performance test I get 3.7 Gbits/sec on the VMXNET3 adapter and 1.6 Gbits/sec on the E1000 adapter. I would have expected VMXNET3 to be up in the 10+ Gbits/sec range.

OS guests are powered by Red Hat Enterprise Linux 6.5, 64 bit, kernel 2.6.32-431.el6.x86_64 under the control of VMware vCenter Server Hypervisor 5.0.0 build 913577. Host server used for benchmarks is IBM x3950 M2 server model 7233-AC1, 24 cores Intel Zeon X7440 2.66 GHz, 256 GB RAM with 1GB Ethernet NICs.

VMware tools installed in guest OSs are v8.6.10 build 913593 (seems to be the latest at the moment).

Best Answer

That's a really old version of VMware ESXi. The performance does seem to get better with newer revisions, but what you are seeing is probably accurate for that vintage.

Is there any reason your VMware environment hasn't been patched or updated? VMware tools are usually tied to the host version and patches, so you're running 2012-era VMware tools on a 2012-vintage ESXi installation. I have tools version 9.4.0.

You can update the tools independently of the ESXi installation by leveraging the VMware Operating System-Specific Packages (OSPs).

See: How do I make sure VMware Tools is installed and running?

On a modern ESXi 5.5 local copy (same host) between vmxnet3 VMs running EL6.5, I see:

Client:

[root@xt ~]# iperf -t 30 -c mccartney
------------------------------------------------------------
Client connecting to mccartney_mirror, TCP port 5001
TCP window size: 23.2 KByte (default)
------------------------------------------------------------
[  3] local 172.16.2.12 port 35543 connected with 172.16.2.159 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-30.0 sec  90.1 GBytes  25.8 Gbits/sec

Server:

[root@McCartney ~]# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 172.16.2.159 port 5001 connected with 172.16.2.12 port 35543
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-30.0 sec  90.1 GBytes  25.8 Gbits/sec
Related Topic