Keeping VMs on the same host for better network performance

One of the theories I have, and the folks I work with, is that VMs that generate a lot of network traffic between each other will perform better if they are on the same host than on two separate hosts. So let's say we have 2 ESX hosts, the VMs are using the VMXNET3 (10gb) NICs, and we have a 1gb network switches. The thought is that the VMs will achieve better network throughput if they are on the same host because they will not use the physical uplink to the network switch, the network traffic is handled by the vSwitch instead.

So in a HA configuration where the 2 hosts are equal hardware wise, is it better to leave all of the VMs on 1 host if the "Active" host can handle the load? Or is it better to load balance the VMs on the two hosts to take advantage of the unused hardware resources?

TL;DR - VMTurbo can make the decision for you, continuously, in real-time

More full version:

Great question, Brandon! As you may know, VMTurbo will let the application and virtual machine workloads buy resources from the infrastructure using our economic scheduling engine as a Market, and one of the commodities is network flow.

By taking east-west network flow into account, as well as application latency which can be affected by the upstream networking, VMTurbo will place resources where they are getting the resources that they require to perform.

This may lead to some virtual machines being left on a single host and another being relatively idle as long as the needs of the application are being met. In a situation where HA is enabled, if the more populated host were to fail, the virtual machines will be restarted on the other server(s) in the cluster.

In other words, we recommend letting the applications decide through automating placement of VMs by policy, or that you take the actions in the dashboard tab which will tell you to migrate virtual machines as VMTurbo is providing the ideal placement based on real-time performance data.

If applications are chatty between each other (east-west traffic), it's even more important that we let VMTurbo make the decision to place the VMs in order to assure application performance across all dimensions of the available resources (vCPU, vMem, network, App QoS etc...).

TL;DR - VMTurbo can make the decision for you, continuously, in real-time

More full version:

Great question, Brandon! As you may know, VMTurbo will let the application and virtual machine workloads buy resources from the infrastructure using our economic scheduling engine as a Market, and one of the commodities is network flow.

By taking east-west network flow into account, as well as application latency which can be affected by the upstream networking, VMTurbo will place resources where they are getting the resources that they require to perform.

This may lead to some virtual machines being left on a single host and another being relatively idle as long as the needs of the application are being met. In a situation where HA is enabled, if the more populated host were to fail, the virtual machines will be restarted on the other server(s) in the cluster.

In other words, we recommend letting the applications decide through automating placement of VMs by policy, or that you take the actions in the dashboard tab which will tell you to migrate virtual machines as VMTurbo is providing the ideal placement based on real-time performance data.

If applications are chatty between each other (east-west traffic), it's even more important that we let VMTurbo make the decision to place the VMs in order to assure application performance across all dimensions of the available resources (vCPU, vMem, network, App QoS etc...).

Platforms aside, you raise a great point. One that causes a lot of interesting responses around "best practices" out in the industry. Having built many environments for distribution of resources and high availability, the design of the infrastructure for resiliency was my primary goal. After that, we can leave it to the software to run the applications in the best way