Amongst many of the optimizations for virtual desktops, it is always stated that the LSI Logic virtual disk controller is faster/more efficient than the BusLogic controller. So is this really true in vSphere 4.1 environments?
In the ESX 3.5 days it was often stated: An LSI Logic virtual disk controller performs better than the (default) BusLogic virtual disk controller. I wondered if this is still true in vSphere. So I performed a little test to show what’s best.
To the Lab!
In the lab I took a Sun x4170 (dual quadcore Nehalem server) with vSphere 4.1 running on top. For storage, a fiberchannel connected EMC CX500 LUN. On that same LUN, I performed three fresh installs of Windows XP (with SP3 integrated). One using the IDE controller, one on BusLogic and one on LSI Logic.
After some “EfSixing” I managed to get the SCSI drivers into the XP installs. Right after the XP installs were done, I downloaded IOmeter on all of them. Within IOmeter, I created a workload on their C-drives:
- 10GB testfile to make sure the CX500 cache would not do all the work;
- set a maximum of 15 outstanding I/O’s;
- configured a single worker which performs 4KB reads and writes (33% writes), fully random.
Next up was perfmon, to monitor three parameters:
- CPU usage;
- Disk read bytes per second;
- Disk write bytes per second.
I included the CPU load to see any difference in CPU load when performing heavy I/O loads. Because I figured the installation of VMware Tools might make a difference, I performed these tests on the XP images both with and without VMware Tools installed. So here are the results:
First off, installing the VMware Tools did not make any difference. I think this is because the SCSI drivers used were already VMware-optimized drivers. Furthermore the IDE performance is pretty horrific. But the BusLogic and the LSI Logic controllers are pretty close in performance! So here we compare the BUS logic and the LSI logic virtual controllers next to each other (both with VMware Tools installed):
So in the end, the BusLogic controller appears to slightly outperform the LSI Logic controller. The IDE controller performance is vastly worse than its SCSI counterparts. I think IDE stays behind because it is not able to have a cache of outstanding I/O’s.
There seems to be no reason whatsoever to choose for the LSI Logic controller over its ancient BusLogic nephew, except perhaps the LSI logic controller being a more modern (read: possibly longer lasting) option within vSphere.