Before proceeding with these steps, ensure that:
- there are no problems in you external infrastructure like faulty hardware or possible misconfigurations (common configuration problems are IP conflicts, unintended traffic shaping, misconfigured trunk and EtherChannel ports)
- the network is not congested
- the network the ESXi host is on is stable and performs as expected
- the virtual machines are configured with the VMXNET3 network adapter
- the hardware drivers and firmware versions are recent
- the BIOS is recent and configured appropriately
- the virtual machine is running the latest version of VMware Tools (they contain the drivers for the virtual hardware)
- any security software like intrusion detection/prevention systems or packet inspectors have enough resources available and are configured correctly (check the logs for incorrectly filtered traffic or dropped packets)
After you have confirmed that your infrastructure is healthy and all components are configured correctly, check the power saving configuration. For virtual machines with more than one virtual CPU, also check if high
CPU %RDY
times have a negative impact on these virtual machines.
The final step is to check the RSS settings. Changing the RSS settings should only be done by trained network administrators. VMware also recommends confirming that all relevant applications (including the operating system) support changes to the RSS configuration.
Power planTo ensure that the system takes advantage of the available resources, it is important to disable all power saving features while investigating performance issues. If the power saving configuration appears to be related to the performance problems, a customized power plan based on the performance and power saving requirements should be created. If you are unsure about which power saving configuration is recommended for your system, engage your hardware vendor.
To adjust the power plan settings on a Windows 2008 Server:
- Click Start, type
powercfg.cpl
, and press Enter. - Ensure that the High performance option is selected.
Note: Steps 3 through 6 are optional.
- Click Change plan settings.
- Click Change advanced power settings.
- To enable access to all settings, click Change settings that are currently unavailable.
- Browse the available settings and adjust as necessary.
- Click OK to confirm and close all windows.
Note: Some changes might require a reboot of the guest system.
Checking CPU %RDY timesTo determine if a virtual machine is impacted by high
CPU %RDY
times, use one of these methods:
- Count all virtual CPUs on a particular host or cluster, and divide by the number of logical CPUs. A result of one or higher means that the host or cluster is overcommitted and should be investigated. Values of four or higher are considered overloaded and must be investigated immediately.
Notes:
- The intent of this method is to quickly determine if a host is overcommitted, rather than determining if it is not. VMware recommends using
esxtop
to observe detailed host performance. - Although hyper-threading doubles the number of logical processors, it cannot provide the same performance as two physical processor cores. If it is likely that the host is overcommitted, calculate using the number of physical CPUs, rather than logical CPUs.
- The
esxtop
command displays the values for the CPU %RDY
time when run on the host with the affected virtual machines. For more information on how to use and interpret the output of esxtop
, see the World Statistics section in the Interpreting esxtop Statistics Communities document. You can also run resxtop
, which is provided with the vSphere Management Assistant (vMA). - The
vm-support
command provides the capability to create performance snapshots. For more information, see Collecting performance snapshots using vm-support (1967).
To relieve an overcommitted host, use one of these methods:
- Move the affected virtual machine to a host with more available resources
- Move other virtual machines off the host
- Decrease the number of virtual CPUs on the affected virtual machine
Note: Changing the CPU count might not be supported by the guest operating system. For more information, contact the operating system vendor.
Enabling and configuring Receive Side Scaling (RSS)Before enabling RSS:
- Ensure that the hardware version of the virtual machine is set to Version 7 or higher. For more information, see Virtual machine hardware versions (1003746).
- Ensure that the virtual network adapter is set to VMXNET3 and that the operating system is supported by this adapter. For more information, see Choosing a network adapter for your virtual machine (1001805).
- Ensure that RSS is enabled in the guest operating system. To verify this in a Windows guest operating system, open a command prompt and run the command:
netsh int tcp show global
The output indicates whether Receive-Side Scaling State is enabled or not.
- Ensure that the network adapter in the virtual machine is configured to use RSS. To verify this in a Windows guest operating system:
- Open the Device Manager, navigate to Network adapters, and right-click the adapter you wish to enable RSS on.
- In the Properties window, click the Advanced tab, then click RSS in the list on the left side.
- Change the Value to Enabled and click OK to close the window. A reboot might be necessary for the changes to take effect.
Note: Enabling/disabling the RSS feature interrupts the network connection on the adapter for several seconds. If you are accessing the system via a remote desktop session, ensure that you can access the system in another way in case an issue occurs that causes the network connection to not return.
By default, Windows uses up to four CPUs for RSS.
Note: TSO (TCP Segmentation Offload) is a feature of some NICs that offloads the packetization of data from the CPU to the NIC. TSO is supported by the E1000, Enhanced VMXNET, and VMXNET3 virtual network adapters (but not by the normal VMXNET adapter). In ESXi, TSO is enabled by default in the VMkernel, but is supported in virtual machines only when they are using the VMXNET3 device, the Enhanced VMXNET device, or the E1000 device. TSO can improve performance even if the underlying hardware does not support TSO.