I have a VM running Server 2003 and SQL Server 2008 on VMware ESXi. Can I safely assume this configuration can cope with a change to the number of vCPUs? Are there better solutions to address the demands of the guest? More info below...
After an upgrade to software utilising SQL, I'm seeing a notable increase of CPU demand from the SQL server, often up to 100% for a few minutes at a time. Users are complaining of slow response from the software. The VM has only one vCPU assigned. My proposed solution is to increase the number of vCPUs assigned to the VM.
Does anyone have any experience in increasing the amount of vCPUs with this configuration? The only thing that scares me is the warning in vSphere that a change "after the guest OS is installed may make your virtual machine unstable". Reading responses to similar questions, it seems it should work without incident.
Would it be best to also reserve some CPU for this VM or make a change to the processing priority via the resources "shares" property?
Answer
When you restart the computer, Plug and Play detects and installs the
processor or processors.
All versions of Windows Server 2003, Windows Server 2008, Windows
Server 2008 R2, Windows Vista, Windows 7 and of Windows XP
Professional x64 Edition use the Advanced Configuration and Power
Interface (ACPI) Advanced Programmable Interrupt Controller (APIC)
hardware abstraction layer (HAL).
- Shut down VM
- Add CPU/s
- Power on
- Log in to the VM console, after a minute you get the usual message about needing to reboot for new hardware to work
- Reboot
After this you ought to find 2 CPUs (or however many you have if you added more than just 1) in Task Manager.
It's also worth mentioning that this may not help the issue as the performance issue may lie elsewhere, e.g. disk access, poorly written SQL, badly designed tables, etc. Performance tuning SQL servers is an advanced topic all on its own, but adding more vCPU is certainly quick and easy enough to do that its worth trying at least.
I would not start messing with reservations and shares just yet, unless you find that CPU usage on the host is particularly high, which may lead to contention amongst VM guests.
Comments
Post a Comment