|
While there is no one proxy benchmark for all virtualization deployments, it is highly desirable to have one
since it provides a basis of comparison and a basis for a consistent approach to measure and continuously
improve. We will arbitrarily define a benchmark called vConsolidate. There are as many possible workloads as
there are servers. No two users (or usages) are exactly alike, so we need to make reasonable representative
approximations. The purpose of this section is to illustrate how to build up a performance discipline in a
virtualized environment with one viable example; and to show the reader how they can do this with component
choices that are aligned with their respective environment. The reader should look at this as a basis that
can be progressively refined.
In Figure 3, we present a high-level view of the system running vConsolidate. At the base, we have the
physical platform, then a virtualization monitor, and some multiple number of VMs, each running a designated
workload. We have also defined an aggregation strategy that helps us consolidate workloads, define the
performance metric(s) and tell how measurements will be taken.

Figure 3: vConsolidate concept
click image for larger view
We will construct a hypothetical example to illustrate the performance discipline discussed above. In this
example, we select the following environments for consolidation: Web servers, e-mail servers, and database
servers. For this example, we model the system by having some multiple of each running and designate the
weights of each as Weight[i]. All the weights are fixed numbers pre-defined by the workload. Each workload
can be run on the system before and after any virtualization layer is included, and we can compare the
virtualized performance of each workload with a baseline measured without virtualization on a pre-defined
standard machine. This serves as a useful tool for calibrating subsequent results. We replicate these
workloads as needed based upon a set of usage model requirements. Then, we calculate the ratio of
virtualized/baseline as the relative performance of each workload. The performance of the virtualized
environment would be
N
∑Weight[i]*WorkloadPerf[i]
I=1
where WorkloadPerf[i] is the relative performance of the i'th workload
Here is an example:
-
The consolidation workload consists of one Web server, one e-mail server, and one data base server.
-
To mimic the real-world scenario, one idle VM is also running on the physical system. In that VM, no real
workload is running. We do not take any score from this idle VM.
-
The weight factors are 35% for the one Web server, 20% for the e-mail server, and 45% for the database
server. This would correspond to a weight vector of (0.35, 0.20, 0.45).
-
After testing each workload individually in a non-virtualized pre-defined standard machine with a
specific configuration, we can get the baseline of each workload.
-
At this stage, we define how the workloads were mapped into VMs, how the VMs were mapped to the
underlying physical platform, and how resources were allocated amongst each. This is not defined by the
workload. The user chooses the best VM configuration settings to do the measurements.
-
Each of the workload components has a well-defined performance metric and a known, unvirtualized baseline
result. The observed result for the virtualization of each of the component workloads is normalized to this
known baseline. The resulting benchmark metric is the combination of all of the normalized workload component
results. As an example, the performance results ratio vector WorkloadPerf[i] could look like (1.8, 1.5, 2.3)2
. The rollup result for the performance of the virtualized system would be
N
∑ Weight[i]*WorkloadPerf[i]
I=1
or
(0.35, 0.20, 0.45) * (1.8, 1.5, 2.3) = 1.965
This calculation is illustrated in Figure 4. The result becomes most useful when comparing different
configurations. For example, the same consolidated set of workloads can be compared across different
platforms or against two different virtualization monitors, or it can be used to compare two different sets
of configuration settings.

Figure 4: vConsolidate example virtualization benchmark results calculation
click image for larger view
|