I'm often asked by customers, "How many virtual machines can realistically fit onto one core?" I try to answer in one of two ways: Either the customer can base their decision on industry-tested examples or they can verify performance based on their own desktop PCs and estimate CPU requirements.
When using the industry standard, a 3.0 GHz Quad Core 2 CPU Server typically can handle from 30 to 80 virtual machines (VMs). The differentiating factor is the profile of the desktop. Refer to the following list for virtual desktop classifications and their reference server per-core ratio.
- Light user: Expected utilization is about 300 MHz of CPU resources. This type of user might be a kiosk machine operator, receptionist, administrator or basic Web-browser user. These desktops might be suspended or not utilized; therefore, the per-core ratio of our reference server might be nearly 10 to 1.
- Medium user: Expected utilization is about 500 MHz. Possible user types include data entry personnel, doctor, student, Microsoft Office user, telemarketer with a homegrown application or a help desk worker. These desktops tend to be used only during business hours. Therefore, the per-core ratio of our reference server might be nearly 6 to 1.
- Heavy user: Expected utilization is about 800 MHz. This type of user might be a developer, system administrator, IT worker, database administrator or engineer. These desktops tend to be heavily used throughout the day and after normal business hours. They may require heavier graphics or Java applications that can stress the desktop. The per-core ratio of a reference server might be nearly 3.75 to 1.
- Very heavy user: Expected utilization of this user is greater than 1 GHz. This type of user might heavily utilize graphics such as a CAD user or graphics developer. Other types of users might be developers with high CPU needs for Java or Web design. These desktops are almost always used at a high level, so the per-core ratio of the reference server might be nearly 2 to 1.
When using this sizing system to design a VDI infrastructure, keep in mind all of these users are mixed throughout the environment. You must also account for memory and disk space because they tend to require more scaling than the CPU.
The other method to sizing out a virtual desktop infrastructure is to collect statistics from real desktops in the environment and perform some basic calculations.
If a standard desktop is using 10% of a 2.5 GHz Single Core CPU. On average, this desktop needs 250 MHz. At peak performance, this desktop uses 25%, or 625 MHZ. But this is only used for 20 minutes every day. Based on the time metric, use the average usage time.
Note: When virtualizing these desktops, there is a slight overhead for items such as virtualizing graphics, sounds and devices to be connected. We'll account for this by adding a 25% overhead per desktop.
Therefore, our calculation is: 250 MHz * 30% = 75 MHz
Then, 250 MHz + 75 MHz = 325 MHz
If we are using the 3.0 GHz Quad Core 2 CPU Server, then we can use this equation:
(3.0 GHz * 8) / 325 MHz = 73.85 desktops
Keep in mind that these equations are not a perfect science; only actual testing can provide accurate data. For most customers, though, these calculations come close enough to the exact number and can help when sizing a virtual desktop infrastructure.
|ABOUT THE AUTHOR:|
Brad Maltz is CTO of International Computerware, a national consulting firm focused on virtualization and storage technologies. He holds certifications from VMware and EMC for many technologies. Brad can be reached at firstname.lastname@example.org for any questions, comments or suggestions.