Virtual Insider

Blog archive

Limit Concurrent vMotions in vSphere 4.1

When designing your vSphere 4.1 infrastructure, it is important to know how to tweak it properly in order to yield the best performance possible based on your physical infrastructure. What I mean by that is: knowing the limitations of your network will determine how many concurrent vMotions you can successfully run without impacting performance (as an example).

Now there are many articles that describe how to limit the number of concurrent vMotions on earlier versions of ESX, but I could not find one that discussed how to limit it on vSphere 4.1. So I decided it would be useful to share what I know.

vMotion, and Storage vMotion operations for that matter, carry a per-resource cost of performing that operation on a per ESX host basis. For example, with vSphere 4.1 the cost of carrying a vMotion operation is 1, while in earlier versions of vSphere like 4.1, that cost was 4 (as is the case with ESX 3.5 as well).

Consequently, the maximum number of concurrent vMotions per ESX 4.1 host is 8, while the old maximum for 4.0 is 4, and for ESX 3.5 it's also 4. Now, it is important to know the maximum vMotions shared between Storage vMotions and vMotions. The cost of a Storage vMotion in vSphere 4.1 is 4. Therefore, you can have 4 concurrent vMotions and 1 Storage vMotion on a single ESX host.

To control these value, you can log in to your vCenter server, point to Administration | vCenter Server Settings. Table 1 lists the value, its cost and its maximum as it pertains to vSphere 4.1.

Table 1. vSphere 4.1 settings for limiting vMotions.
Value
Description
Default Cost
Maximum
vpxd.ResourceManager.
costPerVmotionESX41
Cost to perform vMotion
8
8
vpxd.ResourceManager.
costPerSVmotionESX41
Cost to perform Storage vMotion
4
8

Those settings assume a 10G Ethernet for vMotions. vSphere 4.1 adjusts this maximum based on the network interface it detects; for example, a 10G Ethernet be default allows 8 concurrent vMotions, while a 1GB Ethernet defaults to 4 concurrent vMotions. If a less-than-1 GB network is detected, it defaults down to 2 concurrent vMotions.

Another way to modify these values is to edit the vpxd.cfg file located on the vCenter server.

Posted by Elias Khnaser on 04/05/2011 at 1:21 PM


What is this?

Reader Comments:

Wed, Apr 6, 2011 Elias Khnaser Chicago

@ James K. yes i did, i actually caight that typo last night and have requested an edit. thanks for bringing that up though. Eli

Wed, Apr 6, 2011 James Krolak Minneapolis

In the 3rd paragraph of your article, did you mean to type, "...while in earlier versions of vSphere like 4.0, that cost was 4...?" Cuz it seems a little confusing without that change. I'm a little confused by the math involved here. If the cost for vMotion in 3.5 is 4, but the cost in 4.1 is 1, then wouldn't it follow that you should be able to do 4 times as many concurrent vMotions in 4.1?

Add Your Comment:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above