Performance Tuning for VMware vSphere

Performance Tuning for VMware vSphere

Achieving peak storage performance in the VMware environment involves tuning the VMware configuration beyond default values. The following are recommended best practices for tuning VMware for use with SoftNAS.

VMDirectPath

VMDirectPath provides a means of passing a disk controller device directly through to the guest operating system (i.e., CentOS Linux).


To enable VMDirectPath Configuration page in the vSphere Client:

Intel VT-d (or equivalent) processor feature is required for support of VMDirectPath.

VM SCSI Controller - Set to Paravirtual

In VMware, change the SCSI controller type to Paravirtual, which provides more efficient access to storage.

Physical NIC Settings

A host physical NIC can have settings, which can provide better utilization and performance improvement.


Most 1GbE or 10GbE NICs (Network Interface Cards) support a feature called interrupt moderation or interrupt throttling, which coalesces interrupts from the NIC to the host so that the host does not get overwhelmed and spend too many CPU cycles processing interrupts.

Disable Physical NIC Interrupt Moderation on the ESXi Host

Find the driver using the following ESXi command:

Find the list of module parameters for the driver used by issuing the following command:

FOR EXAMPLE: This applies to the Intel 10GbE driver called ixgbe:

esxcli system module parameters set -m ixgbe -p "InterruptThrottleRate=0"*

Check the host for SR-IOV support, which provides additional performance and throughput in virtualized systems like VMware.

Adjust Network Heap Size for high network traffic

By default ESX server network stack allocates 64MB of buffers to handle network data.

Increase buffer allocation from 64MB to 128MB memory to handle more network data.

Change Heap Size on the ESX Host

Navigate to the ESX Server Host > Configuration Tab > Advanced Settings > VMkernel > Boot > VMkernel.Boot.netPktHeapMaxSize.

Virtual NIC Settings

Configure jumbo frames (MTU 9000) in vSwitch and virtual network adapter (be sure physical switch supports MTU 9000)

We recommend VMXNET 3 virtual NICs. 

 

 is by setting the advanced networking performance option (Configuration -Advanced Settings - Net) CoalesceDefaultOn to 0 (disabled). 

Disable Virtual Interrupt Coalescing for VMXNET 3 Virtual NIC

Navigate to the VSphere Client > VM Settings > Options Tab > Advanced General > Configuration Parameters.


Add an entry for ethernetX.coalescingScheme with the value of disabled (0).

 

An alternative way to disable virtual interrupt coalescing for all virtual NICs on the host which affects all VMs, not just the latency-sensitive ones, is by navigating to Configuration > Advanced Settings > Net and setting CoalesceDefaultOn to a value of disabled (0)

Disable LRO

Reload the VMXNET 3 driver in the SoftNAS CentOS operating system.


SSH into the SoftNAS® VM as root and issue the following command:

Add the following line in /etc/modprobe.conf:

Reload the driver using the following command: