Which vSCSI controller should I choose for performance?

Which vSCSI controller should I choose for performance?
Posted on February 7, 2014 by Mark Achtemichuk
3 Replies
I wrote a blog article in Oct 2010 on this same topic that is still frequently referenced today so I figure it was due for an update.
So what should I choose as my vSCSI controller and what are the differences between them?
First, it’s important to remind everyone that when you select the Guest OS for a new virtual machine

this automatically makes a selection for which vSCSI controller to use based on what drivers are available in the OS distribution. So be sure to select the correct Guest OS to start in the right place.

Let’s look at the options available today:
• BusLogic – this was one of the first emulated vSCSI controllers available in the VMware platform. The earliest versions of Windows has this driver available by default which made it easy when installing that particular OS. It wasn’t however as performant as the LSI Logic driver since Windows’ driver was limited to a queue depth of 1, so often one would manually load the LSI Logic driver instead. While still available and used occasionally (Is anyone still running Win2K?), it should be considered legacy.
• LSI Logic Parallel (formerly knows as just LSI Logic) – this was the other emulated vSCSI controller available originally in the VMware platform. Most operating systems had a driver that supported a queue depth of 32 and it became a very common choice, if not the default.
• LSI Logic SAS – This is an evolution of the parallel driver to support a new future facing standard. It began to grown popularity when Microsoft required its use for MCSC within Windows 2008 or newer.
• VMware Paravirtual (aka PVSCSI) – this vSCSI controller is virtualization aware and was been designed to support very high throughput with minimal processing cost and is therefore the most efficient driver. In the past, there were issues if it was used with virtual machines that didn’t do a lot of IOPS, but that was resolved in vSphere 4.1.
Are there performance differences between them?
• PVSCSI and LSI Logic Parallel/SAS are essentially the same when it comes to overall performance capability. PVSCSI, however, is more efficient in the number of host compute cycles that are required to process the same number of IOPS. This means that if you have a very storage IO intensive virtual machine, this is the controller to choose to ensure you save as many cpu cycles as possible that can then be used by the application or host. Most modern operating systems that can drive high IO support one of these two controllers.
• Here’s a detailed whitepaper that takes a closer look at PVSCSI vs LSI Logic SAS for IOPS, Latency and Cost. While it does support that PVSCSI is more capable, keep in mind most customers are not producing 1 million IOPS so for real life the difference is negligible.
How many vSCSI adapters are supported per virtual machine?
• It’s also worth noting that you can configure a total of 4 vSCSI adapters per virtual machine. To provide the best performance, one should also distribute virtual disk across as many vSCSI adapters as possible. This configuration provides the capability to process more IO simultaneously and benefit from additional queues if necessary.
What about AHCI SATA?
• This is a new storage controller available with vSphere 5.5 and virtual hardware 10. It allows you to connect a large amount of storage to a virtual machine but it wasn’t designed to be as efficient as the PVSCSI or LSI Logic controllers and therefore should not be used with performance sensitive applications.
Let’ summarize this in a chart:

Virtual Hardware Reference
PVSCSI KB 1010398
This entry was posted in ESXi, Performance, vSphere and tagged adapter, ahci, BUSLogic, controller, logic, lsi, parallel, Performance, PVSCSI, SAS, sata,SCSI, vhba, vscsi on February 7, 2014 by Mark Achtemichuk.

About Mark Achtemichuk
Mark Achtemichuk is a Senior Technical Marketing Architect specializing in Performance within the Cloud Infrastructure Marketing group at VMware. Certified as VCDX #50, @vmMarkA has a strong background in datacenter infrastructures, cloud architectures, experience implementing enterprise application environments and a passion for solving problems. He has driven virtualization adoption and project success by methodically bridging business with technology. His current challenge is ensuring that performance is no longer a barrier, perceived or real, to virtualizing an organization’s most critical applications, on their journey to the cloud.
View all posts by Mark Achtemichuk →

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s