I am testing a Dell PowerEdge T140, 16 GB RAM, Intel 2126G and PERC H330 controller, with the stock 1 TB seagate HDD
The purpose is to consolidate several little machine I have at home.
Installing on the T140 Ubuntu and running just SAMBA, I am able to write on the HDD @ 120 MB/s that is more or less the HDD limit
Installing ESXi 6.7 and creating an ubuntu VM, when I start writing on the same HDD the speed starts @ 120 MB/s but after few seconds speed drops to 50 MB/s
I tested also Windows 10, with and without virtualization, with more or less the same results
virtual disks are thick and eager zeroed, ESXi comes from the Dell cutomized ISO image
firmwares are up to date
Is it normal?
What's type of SCSI controller and also did you configure power policy to "High Performance" on host?
the HW controller is the Dell stock PERC H330
the performance policy does not provide benefits if changed from LOW to BALANCED to HIGH PERFORMANCE.
the SCSI controller of the VM is the default provided by VMWare: LSI Logic SAS
I even tried to map the HDD as raw device: no improvement at all.
So I guess, there is mismatch issue between VMFS block size and guest OS block size.
If you are using DD command to test, try to write to disk with larger block size.
The H330 doesnt have a BBU so normaly there is only Write Trough and iam pretty sure what you see is some kind of caching by the Host OS which ESXi doesnt do. Take a look to esxtop and check the Write Latency.
The 120MB/s which you will see comes from the Drive Cache if you have enable it. Install Dell OMSA and you can see and adjust the Drive Cache and if you disable it your numbers will go down.
having several small machine at home quite old, I decided to consolidate everything on this Dell T140 (Intel 2126G, now 32 GB RAM, H330 controller)
One of this machine is an ubuntu file server running SAMBA, today hosted on a 6 years old HP microserver with 2 GB RAM and a Celeron cpu and 2 Western Digital Red 4 TB HDD
Even old and poor, in both reading and writing I can saturate my Gbps home network, so the speed is stable around 100 MByte/s even writing 16 GByte video files.
I created a new ubuntu VM on the T140 and performances are poor, compared to the old Microserver, writing the same files from the same client machines.
usually starts at more than 100 MByte/s then drops to 50
If files are more than 4 GB, then the speed can drops even to some Mbyte/s... sometimes it even stops for a while, then restarts.
it happened that timeouts occurred
I swapped the HDDs from the Microserver to the Dell and mounted them as raw device... no difference
I installed a Windows VM and... same behaviour
Copying large file from the Windows VM to the Ubuntu VM.... so the traffic is limited inside the virtual switch... no improvement at all
Of course I can not pretend the same performances I can see at work where we run thousands VM on 480 CPU with full flash disk array, but at least not worst than the old and poor Microserver, since the new Dell is 7 times more powerfoul, has a dedicated storage controller and moreover.... disks are the same, since swapped.
Your PERC H330 has ZERO(0) cache build in. It can only do write through cache, which means that it has to commit everything to disk before it can proceed. You need to upgrade to at least a PERC H730 or so to get some caching on you controller.