I haven't found what caused this, so I decided to work this through on 2nd example (the hard way)
It seems my upgrade just went wrong, the image wasn't too lucky (ESXi, 8.0.3, 24022510) and I will need to reinstall my primary ESXi to ESXi, 8.0.3, 24674464
Original Message:
Sent: Apr 09, 2025 06:02 AM
From: StephenMoll
Subject: Slow (only) SpeedTest (only) upload (only) from ESXi VMs - Why?
I think a read of "VMware vSphere 6.5 Host Resources Deep Dive" by Frank Denneman and Niels Hagoort is in order here. It was written at the time of vSphere 6.5, but most of it still holds true.
In essence though, I think your observation is as a result of the following:
A VM is comprised of several threads running in the hypervisor. These are the vms-vcpu threads. Clearly these need pCPU core time to operate. What a lot of people overlook is that fact that the VMs network hardware needs to be emulated as well. For VM outbound network traffic, this is handled by what is called a TXTHREAD. Every VM has one of these by default, and these threads are constrained by the same CPU resource reservations, limits and sharing as the VM they serve. So in overprovisioned environments, like yours, the TXTHREAD is not going to get 100% of the host pCPU time it needs to run at full speed all the time.
Inbound traffic to the host is handled by what are called NETPOLL threads. There is at least one of these per physical network interface, and if your NIC supports RSS, then there will be a NETPOLL thread for every RSS channel. NICs typically have 8 or 16 channels per port. For the X710 I think it is 16, so your system will have something like 32 NETPOLL threads waiting to jump onto physical cores if needed.
As NETPOLL threads service more than one VM, their CPU time is effectively 'paid for' by the destination VM's CPU resource allocation, and again subject to the same reservations, limits and sharing. Therefore, for inbound traffic, 100% performance in an overprovisioned environment cannot be expected.
Original Message:
Sent: Apr 08, 2025 06:26 AM
From: Pawel Lipko
Subject: Slow (only) SpeedTest (only) upload (only) from ESXi VMs - Why?
I have strange performance issue most probably with my Vmware ESXi.
When I run any speedtest service I'm getting upload results of 30,90% of my upload link.
My ISP connection is 1Gb down / 300Mb up but any SpeedTest service gives me 909,93 / 92,71 when run from Windows 11 or Ubuntu VM running on ESXi. The results are the same with browser test and speedtest cli test (I also tested other - speedtest.pl service. Same results)
On the other hand my physical laptop with the same tests gets 914,57 / 307,40 which is 91,46% / 102,47%. So it's not LAN nor ISP problem.
This is getting more interesting when I started to test between physical laptop and Ubuntu VM:
- · Iperf3: 878 / 844 (87,80% / 84,40%)
- · SMB single file transfer: 847,22 / 737,73 (84,72% / 73,77%)
So this is not LAN / ESXi problem.
But there is a problem…
My test results below – each line is an average of 3 separate tests, just to be sure there wasn't some better or worse moment in time.

My HomeLAN looks as follows (I marked test flows with green and red arrows – showing what is running fine and what's not)

Before I did iperf3 tests I started to check FO cable by replacing it – it's now obvious, that the cable was ok.
Home server short spec
- · CPU: AMD Ryzen 9 7900
- · RAM: 96GB DDR5,
- · M2 SSD: 4TB + 1TB,
- · SSD: 2x 4TB,
- · HDD: 20TB,
- · NIC: Ethernet Controller X710 for 10GbE SFP+
Vmware software versions are:
- · vCenter Version: 8.0.3, Build: 24322831
- · ESXi version: 8.0 Update 3
·Początek formularza
I don't see a choke point here.
All my VMs do use VMXNET3 NICs, they are running most fresh Vmware tools
The NIC in use is officially supported by Vmware.
ESXi è Manage è Hardware è PCI devices shows SR-IOV disabled and no passthrough

My vSwitch DMZ that connects Ubuntu SRV with FW as follows:
Note there are some Ubuntu test copies, that are normally unused
The vSwitch DMZ settings:

The main vSwitch topology (it connected FW with outside world and provides direct connection for Win11 VM)
Note: physical port is 10Gb auto negotiated
Main vSwitch0 settings

Physical Mikrotik switch has 10Gb auto negotiated link between Home server and Internet router (and 1Gb for physical Dell laptop)

Summarizing: I have slow upload when testing with few speedtest services (no matter if it's browser or cli app) only from ESXi VMs
Why?