Building a VMware test lab is a great way to see how workloads and applications will work in a virtual infrastructure.
In a VMware test environment, there are a variety of performance benchmarking tools that can provide information about resource usage, storage performance and the network.
What you need for a VMware test lab
While most servers manufactured in the past five years can run VMware vSphere, you want the hardware to be up to the job. That means at least a dual quad-core CPU system and a reasonable amount of memory. (If you run ESXi 5 with less than 32 GB of memory, you don’t need to license the test server.) You also might consider shared storage, and make sure to get your virtualization network in place.
Having multiple VMs sharing the same data store, one can frequently run into IOPS limitations. Disk latency can quickly translate into unacceptable application delays for the end user. To avoid storage bottlenecks, I’ve found that even just two solid-state drives (SSDs) with RAID 0 will have better throughput than most aging disk arrays. With SSDs, there is little latency because what your system sees as a disk volume is actually implemented using solid-state memory.
Ultimately, performance in a VMware test lab is all about virtual machine (VM) density -- how many VMs can go on a physical server while meeting performance goals. The resources that dictate VM density come down to: CPU, memory, network bandwidth and storage capacity. Figure out how much you can allocate to each host and VM to get the best performance, but watch out for over-commitment.
Recently, VMware added another twist by linking its licensing model to the number of CPU sockets. If you’re looking to keep costs down, try to limit the number of CPU sockets while maximizing the number of cores in your VMware test environment.
Getting VMware performance metrics
Depending on what application you’re trying to model in your VMware test lab, there are a variety of benchmarking tools you can use to stress-test your configuration. VMware provides an extensive benchmarking suite with its VMmark and View Planner offerings.
VMmark incorporates vMotion and Storage vMotion in addition to generating a simulated user workload. View Planner uses Microsoft Office, Adobe Reader and other applications to emulate a typical user workload in a virtual desktop infrastructure, allowing you to measure application delay and user experience on numerous VMs simultaneously.
There are several other load generators available, and with the exception of the SPEC and VMware View Planner benchmarks, you can download them all for free. Allow yourself time to become familiar with their operation and, most importantly, learn how to interpret the results.
File Server Capacity Tool (FSCT): This Microsoft utility drives a load on a traditional CIFS/SMB/SMB2 file server and measures the highest throughput that a server (physical or virtual) can sustain.
Exchange Load Generator 2010 (LoadGen): This Microsoft utility simulates a variety of Exchange email clients at various load levels to help you size your servers before deployment.
Exchange Server Jetstress 2010: This Microsoft utility focuses on the back-end input/output subsystem of the Exchange environment.
Dell DVD Store Database Test Suite: Also part of VMmark, this test suite simulates typical ecommerce site transactions, with built-in load generation.
SPECvirt_sc2010: Yes, that’s its name! This relatively new platform-independent benchmarking tool is designed for end-to-end testing of virtual environments.
ORION: This Oracle benchmark calibrates the I/O performance of storage subsystems intended for Oracle databases.
What a VMware test lab can teach you
Having a VMware test lab is an invaluable resource for virtualization architects that want to create proof-of-concepts, test new features and workloads, or consider what/if scenarios.
For example, one of the most beneficial aspects of having a VMware test environment is playing around with VMware’s Distributed Resource Scheduler. With DRS, you can evaluate how clustering, distributed applications, and power and resource optimization can be achieved in your deployment.
Read/write latency, for instance, is frequently indicative of storage performance. Evaluate your potential bottlenecks and decide whether you want consolidated storage with high I/O.
If you’re evaluating virtual desktops in your VMware test lab, you want to maximize the number of VMs per host and minimize redundant programs and processes on each VM. By replicating your environment in a VMware test lab, you might experiment with eliminating some productivity suites and unnecessary agent-based solutions such as endpoint security, DLP or backup and recovery that’s not optimized for virtual environments, to see whether it can improve virtual desktop performance. You can also use VMware’s View Planner to look at user experience and responsiveness with a highly-customizable workload, and add a WAN emulator to optimize the experience for remote workers.
You’ll find that the possibilities in a VMware test lab are endless, and you can quickly accomplish any proof-of-concept testing you need to perform.
For examples of how the Tolly Group has built virtualization environments for testing purposes, visit http://tolly.com/Virtualization.