Get in Touch with Your Physical Server
- By Elias Khnaser
Do you agree with me that building a physical server feels awkward? Like you're committing a sin or doing something horribly wrong? Virtualization has transformed not only the way we do IT but also the way we view and feel about IT. Deploying virtual servers is easy, fast and efficient -- so much so that when you're required to build a physical server, you're traumatized by the experience and reminded of an era long gone. Given that our environments are so heavily virtualized, here are five tips for solidifying your virtual infrastructure performance.
Tip 1: VAAI
If you aren't using vStorage APIs for Array Integration (VAAI), then you're missing out significantly on performance, especially if you're using virtual machine (VM) file system volumes. The use of VAAI offloads certain tasks previously executed in the hypervisor onto the storage array. However, the most important feature of VAAI is that it offloads SCSI locking to the array. When you have multiple VMs on the same LUN and they're simultaneously utilizing the disk, the benefits of VAAI will surely be apparent. Prior to VAAI, all SCSI locking was handled by the hypervisor, consuming CPU cycles and unnecessarily overloading it.
If you haven't upgraded to vSphere 4.1, I strongly recommend it, especially if you intend on virtualizing Tier 1 applications. Check with your storage manufacturer to make sure your array supports VAAI.
Tip 2: Disk.SchedNumReqOutstanding
This tweak addresses the maximum simultaneous number of outstanding disk requests to a specific LUN. By default, the limit is set to 32 and can be increased to a maximum of 256. This value should be set to the maximum as a regular performance best practice, and in particular when Tier 1 applications are involved.
It can be changed by navigating to the Configuration tab of a vSphere host, selecting Advanced Settings and selecting the node Disk. You should then browse to Disk.SchedNumReqOutstanding and set it to 256.
Tip 3: Thin Provisioning
While vSphere offers thin virtual disks, best practices dictate that if your storage array supports thin provisioning, you should use it at the array level. This is a best practice for many reasons, primarily because there's a performance benefit from thin provisioning at the array level, especially as the underlying disk pool grows. Second, you avoid operational inefficiencies by offloading thin provisioning to the storage team. Using thin provisioning at the vSphere level means that the storage admin now needs to guess how much the vSphere admin has overcommitted the storage and ensure he doesn't run out of storage. Consequently, the vSphere admin is thin provisioning disks and expecting storage to be available when it's needed. To avoid a potential denial of service due to overcommitted storage, centralize thin provisioning at the array level. If your array doesn't support thin provisioning then, by all means, go to town with it using vSphere.
Tip 4: VMXNET3
When configuring a virtual network interface card (vNIC), select the VMXNET3 adapter, as this provides the most efficient vNIC possible and yields the best performance while minimizing load on the vSphere host CPU.
Tip 5: PVSCSI
VMware Paravirtual SCSI (PVSCSI) is an optimized SCSI controller driver that handles heavy I/O loads generated by a VM. VMware recommends you use the PVSCSI driver when VMs are generating more than 2,000 I/O per second (IOPS). These VMs are typically your Tier 1 applications such as Microsoft SQL, Exchange or Oracle. The use of the PVSCSI driver with these applications will yield excellent performance and consume less CPU cycles on the ESX host.
The more virtualized your environment becomes, the more attentive you have to be to tips and tweaks that will help you more efficiently build and maintain this environment.
Elias Khnaser, Chief Technology Officer for Sigma Solutions, is an internationally renowned expert and thought leader in the areas of IT transformation, enterprise consumerization, virtualization and cloud computing. He is well-published, authoring and co-authoring six books, numerous training DVDs and hundreds of articles. He's a blogger and columnist, writing for Virtualization Review Magazine, InformationWeek and Forbes. He's also a frequent speaker at leading technology conferences. Elias is responsible for the technical vision at Sigma, identifying trends, innovating and developing strategies for keeping the company on the cutting edge of solutions delivery. He is also a customer-facing executive, advising clients on IT transformation, development of IT roadmaps, enterprise consumerization strategies, virtualization and cloud computing.