How to Model and Predict Changes to your VMware ESX Infrastructure using vKernel Modeler

With products like Capacity Analyzer, SearchMyVM and Chargeback, VKernel has proven to deliver easy to use tools for today’s performance and systems management challenges in a virtual infrastructure. Recently they released VKernel Modeler, their latest product which allows you to create “What-if scenarios”.

With the new Modeler product you can simulate different scenarios to see what the effect of certain changes would be on your virtual environment. What kind of scenarios might you want to simulate? I know that in my environment, I was interested in modeling changes such as adding a number of VMs, changing cluster or resource pools settings, and pre-testing what a host failure will do to the performance of my cluster.

How do I get started?

Modeler is offered as an appliance and I really like appliances because all you have to do is download, start the VM, enter network settings, and you’re done. I see this with more and more products and it makes deploying really easy. With VKernel Modeler it was no different, within a few minutes I was up and running and made a connection to the web interface.

By adding your vCenter (Virtual Center) server or a number of hosts to your “Virtual Environment” in Modeler, your current environment is analyzed and available in the tree on the left side of the browser screen. By default Modeler retrieves performance data of the last 168 hours (7 days) from vCenter, just make sure to set your vCenter statistics level to level 2 or up.

vKernel Modeler

Figure 1

vKernel Modeler

Figure 2

Now, to see how your environment is doing, first create a “Model session” and drag your “Virtual Environment” into this session.

vKernel Modeler

Figure 3

You will now see a dashboard that lets you quickly identify the (potential) bottlenecks of your Virtual Infrastructure.

How can the Modeler Dashboard help you?

The Modeler dashboard gives you a quick overview on a number of important capacity issues.

vKernel Modeler

Figure 4

For example, above you see the “Current Capacity Bottlenecks” section. This will show you the items in your virtual infrastructure that have bottlenecks. For example, a Virtual Machine with a high IO Wait, a host whose storage is almost at full capacity or like in the image shown, a cluster who’s memory is at full capacity. Not only will Modeler show you the current value but it will also show what the trends are for this item.

vKernel Modeler

Figure 5

In the “Capacity Availability Map”you get a quick overview of how many additional VMs your hosts, clusters and resource pools can hold. You can immediately see if memory, CPU or storage is the limiting factor that prevents you from placing more VMs on that host, cluster or resource pool. Then there is the “Future Capacity Bottlenecks” section, which shows you the prediction in days on when some critical bottlenecks might occur.

Using Modeler to Simulate changes to your Virtual Infrastructure

At this point the dashboard still shows you current values, which will surely be very interesting, but what we really want is a simulation of what some changes will do. Let’s say we would like to add an extra host to the Virtual Infrastructure but you’re not sure whether to buy that 4x Quad core host with 32GB of RAM or would a 2x Quad core with 64GB be a better choice? In the Model Session, you can now add a host to your cluster with the specs you choose. Then for the first scenario (the 16 core / 32GB) you look at the dashboard to see what the impact is on your “Current Capacity bottlenecks”. How is the overall performance now? Next you can create a second session, or print this one in pdf and edit the session, to see how your virtual infrastructure would benefit from adding the other host. See “Current Capacity Bottlenecks” before and after adding a 32Gb 4x QuadCore host to my testlab.

vKernel Modeler

Figure 6

vKernel Modeler

Figure 7

Not only can you simulate adding hosts, you can also add VMs with the specs you like and see how many more of this type of VM you can add. When creating a template VM, you can specify the application load the VM will handle. Modeler knows the difference between SQL, Exchange, Notes and other applications and has the option to set the load at different points throughout the week. This is great for trying numerous scenarios on a Virtual Infrastructure before really implementing them.

What I would like to have added is a view that saves the beginning virtual infrastructure configuration so that one can easily compare the result of changes to that previous configuration. Although there is the option to save the results as PDF, displaying the results next to each other would improve the usability.

Learn how to Tweak Modeler Thresholds

From an application like Modeler, that tells you that your memory is a constraining factor in your virtual infrastructure, you’ll also want to know why Modeler reports these constraints. Via the menu “Settings -> Options -> Thresholds” you can check at which percentage cpu, memory, disk and network utilization, Modeler will report alerts. In my opinion, Modeler uses a rather conservative set of thresholds, but luckily you can change these to your own likings. By default CPU, memory, storage and network will be at a warning level (yellow) when either one of them is at 50% usage and will go to alert level (red) at 70%.

vKernel Modeler

Figure 8

When calculating how many resources a VM uses and figuring out how many VMs can be added, by default, Modeler uses an average based on the VMs in your current environment. However, it is possible to edit these parameters.

What is

In addition to the Modeler, VKernel also released a website on which Modeler users can post their configuration and compare it to others. By doing this, virtualization admins can compare the resources allocated to Virtual Machines when used with various types of applications. The power of CompareMyVM is that you can learn how to “right-size” your VMs for special application uses. The more contributions to this site, the more powerful the site will become. Depending on the results, VKernel may even author a best practices guide.


Overall, the ease of use offered by VKernel Modeler one of the best features. There were some actions that took me some time to figure out how to perform but after a little hint from VKernel support, I was quickly on my way. Modeler is a helpful tool when testing scenarios that are difficult to test in a real environment. Finally, virtualization admins are able to make infrastructure decisions based on “facts” instead of gut feeling.

Download a free evaluation of vKernel Modeler and try it for yourself