Adding virtual CPUs to Server 2003/SQL 2005

Scenario:
vmWare ESXi 4
Several VM's, all running Windows Server 2003 32-bit
The SQL VM was originally configured (not by me) with only 1 virtual cpu (Xeon 2.5GHz) and with 4GB RAM.

This machine is taking strain as it runs 8 SQL databases (various sizes, largest one being about 8GB).

I need to increase this VM's performance and am toying with the idea of adding at least one more virtual CPU as this CPU runs at or above 90% for most of the day.
Since the OS is 32-bit, I cannot realistically add more RAM to it (...or can I in this virtual environment?)

VMWare says that adding a cpu to a VM may cause instability - the last thing I need is for this server to becme unstable, so the big question is: can I do this safely?

My other option would be to create another SQL VM and spread the databases accross the 2VM's, but as my datastore space is limited it may be a tight fit.

Anyone have any advice/guidance for me?
AltraAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
You can certainly try and add another CPU to the Virtual Machine, and see if it helps you performance.

The amount of RAM you have allocated to this VM seems, low, what version of Windows 2003 Server do you have?

because 32bit could be limited to 4GB only, depending upon version.

see here

http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778%28v=vs.85%29.aspx
RickEpnetCommented:
It depends on how the server's HAL was setup originality. Can it handle multiple CPUs. How was the machine setup in the first place as a VM or a physical machine?
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
I think it would be wise to setup a new VM, with single processor and as much ram as you require. Maybe select a 64 bit VM.

If you cannot increase the memory in the VM, what memory is in use currently?
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

AltraAuthor Commented:
Thanks for the responses:

The VM is running Windows Server 2003 Standard R2 32-bit (with SP2).

As far as I know the VM was originally set up as a VM, not a physical machine, and looking at the timeframe, it made sense to do it that way, but with the company's expansion, in retrospect it was possibly under-specced, and unfortunately it is only Standard Edition, so it looks like I am limited to the 4GB I have curently.

I would like to add a vCPU to see if this alleviates the problems, I'm just worried about stability.

Ideally I would like to go to Server 2008 x64 but I need to work on the client quite a bit to convince him to spend the money, so it is not an option at the moment.
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
You will be fine adding another CPU.

Make sure the VM is off.

Add A CPU
Add another CPU, when the VM restarts, you may need to start Device Manager, select CPU, and select Upgrade and select the Multi Processor HAL, and then restart.

It should not cause stability issues, but may not give you the results you expect.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
RickEpnetCommented:
Is the server utilizing all the RAM right now? Do you have multiple databases do you have multiple incidents of SQL running or are all the databases running under the same incident?
AltraAuthor Commented:
hancocka: Thanks - stability query answered ok. Will add the cpu and see what happens. I do accept that it may not do all I need it to do, but if it alleviates the almost constant 100% cpu usage I'll be happy. Users are experiencing lagginess and hanging when using the app that depends on these databases - and I've drawn a correlation that cpu usage is pegged at 100% when they experience this lag.

RickEpnet: There are 8 databases all running on one instance of SQL and memory usage is not horribly high - usually around 50% to 75%
RickEpnetCommented:
Then adding the CPU is you best chance beside going with a 64 bit server.
AltraAuthor Commented:
Great, thanks - going 64-bit is first prize, but since the client is not going to spend money on that right now, I'll settle for second...
AltraAuthor Commented:
To the point, just what I was looking for.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Server Apps

From novice to tech pro — start learning today.