When estimating CPU, you must gather information about the average CPU utilization for various types of workers in your enterprise.
CPU requirements vary by worker type. During your pilot phase, use a performance monitoring tool, such as Perfmon in the virtual machine, esxtop in ESXi, or vCenter Server performance monitoring tools, to understand both the average and peak CPU use levels for these groups of workers. Also use the following guidelines:
- Software developers or other power uses with high-performance needs might have much higher CPU requirements than knowledge workers and task workers. Dual or Quad virtual CPUs are recommended for 64-bit Windows virtual machines running compute-intensive tasks such as using CAD applications, playing HD videos, or driving 4K display resolutions.
- Two virtual CPUs are generally recommended for other cases.
Because many virtual machines run on one server, CPU can spike if agents such as antivirus agents all check for updates at exactly the same time. Determine which agents and how many agents could cause performance issues and adopt a strategy for addressing these issues. For example, the following strategies might be helpful in your enterprise:
- Use instant-clone desktop pools instead of desktop pools of full virtual machines for your virtual desktops. With instant clones, you can patch the golden image and then use push image to propagate the patch on a rolling basis across your pool of desktops. This eliminates the software update bottleneck typically associated with traditional patch management software that downloads and updates patch directly on each individual virtual desktop.
- Schedule antivirus and software updates to run at non-peak hours, when few users are likely to be logged in.
- Stagger or randomize when updates occur.
- Use agent-less antivirus software that is compatible with the VMware NSX Guest Introspection capabilities.
As an informal initial sizing approach, to start, assume that each virtual machine requires 1/8 to 1/10 of a CPU core as the minimum guaranteed compute power. That is, plan a pilot that uses 8 to 10 virtual machines per core. For example, if you assume 8 virtual machines per core and have a 2-socket 8-core ESXi host, you can host 128 virtual machines on the server during the pilot. Monitor the overall CPU usage on the host during this period and ensure that it rarely exceeds a safety margin such as 80 percent to give enough headroom for spikes.