Does controller matter with SSDs?

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

sspeed

New Member
May 18, 2017
7
0
1
52
Hi, long time lurker, first time poster.

I have a couple free ESXi servers running on i7 DDR4 consumer hardware. Not recommended, but working fine for me. All of my VMs run on local storage vs NFS or iSCSI.

Inside the system I have one platter hard drive and one SSD. I have one Win10 VM with the datastore on the SSD and all the rest are on a datastore on the platter.

The interesting thing is, the HDTune results on the Win10 on SSD only show about 140MB/s, which is about exactly the same as the throughput of the VMs on the platter drive.

Responsiveness of the VM is great and no complaints there, but it seems like that should be higher? Windows 10 recognizes the drive as an SSD. My biggest question is which Hard Disk Controller should the VM use? Currently I'm set to the LSI Logic SAS, but I'm wondering if the AHCI SATA would be better for a VM on the SSD? Does it matter?
 

i386

Well-Known Member
Mar 18, 2016
4,245
1,546
113
34
Germany
Yes, controllers can make a different. Just look at the lsi hbas and their oems counterparts with custom firmware.

But your problem is probably the ssd, which I think is a consumer ssd (like samsung evo/pro)?

Lsi (or adaptec) hba > onboard controller
 

sspeed

New Member
May 18, 2017
7
0
1
52
You are correct, the SSD is a Crucial MX variety, so consumer based. Overall the VM performance is great, I just expected better since the same SSD in a dedicated PC shows much better performance. I do also have all the host cache going to this SSD.

Everywhere I read talks about needing AHCI for SSDs, so that's why I was wondering if the my guest hard disk controller should be an AHCI SATA vs the LSI.
 

MiniKnight

Well-Known Member
Mar 30, 2012
3,073
974
113
NYC
I thought you meant in the VM.

Yes on the hardware side. SATA AHCI for SATA SSDs is best. Then for SAS you want newer controllers and the oldest I'd recommend might be the sas 2008 based but a few SSDs and that'll get overwhelmed.
 

sspeed

New Member
May 18, 2017
7
0
1
52
I do mean in the VM, sorry to not explain it well enough. The host is set to AHCI in the bios. In the VM guest, just wondering if the virtual controller mattered for an SSD.
 

T_Minus

Build. Break. Fix. Repeat
Feb 15, 2015
7,641
2,058
113
Yes! They make a huge difference and firmware makes a difference too!

I shared some URLs to controller queue depth info, and testing, and the difference is rather amazing between controllers, firwmare, and sas/sata drives too!
 

sspeed

New Member
May 18, 2017
7
0
1
52
Thank you, where can I find those URLs? Is there a specific post? I didn't find one on search.
 

farhan741

New Member
May 21, 2017
2
0
1
38
You can easily make AHCI SATA for a VM on the SSD you have just AHCI enabled in BIOS/UEFI first.
 

vrod

Active Member
Jan 18, 2015
241
43
28
31
If you can, use the Paravirtual controller for your vm's. Should give the best performance
 

sspeed

New Member
May 18, 2017
7
0
1
52
Just to follow up, ok, I feel dumb. I was using HDTune to benchmark the SSD store within a virtual disk. I didn't realize that HDTune only tests a specific configurable block size, the default appearing to be 64KB. I incorrectly assumed it was doing a sample of various sizes. I switched over to ATTO Disk Benchmark and I'm seeing more of the speed I was expecting (around 550 MB/sec reads and 350-500 MB/sec writes depending on block size).

Seeing as the home lab is merely recreational, I also hadn't researched all of the changes going to ESXi 6.5. In the past I occasionally ran the SCSI unmap manually on the SSD for trim. With ESXi 6.5 and VMFS6 this is done automatically, but you have to wipe and recreate datastores to take advantage of it. I've also moved this SSD to VMFS6 which is probably helping as well, I don't know if there is any benefit to doing it for my platter drive?