Currently, I have one webserver running about 20 websites. It is an Intel Pentium D 940 (3.4Ghz) / 2x10K Raptors (RAID1) / 2GB RAM. Most of them are vBulletin foruns and e-commerce stores. Right now I´m having very high loads (8 - 10) on this machine and I´m about to buy a new one. I´m thinking about:
3 Maxtor Atlas 15K2 150GB (these I already have)
Dell Perc4DC for Hardware RAID 5 (PCI-Express)
Quad Core CPU or Dual Dual-Core Xeons.
... now my problem is:
a) Should I use this machine as a standalone database server, or just migrate everything to this machine?
b) Will the weakest one act as a bottleneck? By taking MySQL processing out of that box, am I likely to have the load drop down to about 1 or 2? SWAP is always near 0kb, so I assume RAM Quantity is not the problem. Is there any way to check if the bottleneck are the HD´s IO?
I assume the problem with the actual machine is CPU Power, because Idle CPU is always about 15 to 0%. Maybe it is acting as a bottleneck? Maybe NetBurst based processors can´t handle this kind of load as well as Opterons or Core 2 Duo/Quad CPU´s?
I'm guessing those Raptor's are SATA drives, what raid controller are you using?
Most likely your bottle neck is actually being caused by Disk Access. Unless you are using a "Hardware Raid" solution, which most of the onboard ones aren't, the raid controller uses system resoursces.
Splitting it up is a good thing though. By moving your databases off it will free up more resources for the sites themselves, but first you need to trace the source of your load.
I'm guessing your running *nix (you didn't say) and not windows. Do a TOP and see what is using the most processor time.
Yup, they are SATA, and I´m using ICH7 (southbridge) as the controller (not hardware RAID). I´m currently running a software RAID 1, using Linux.
When I do a "top", I get many httpd processes (about 20), most of them requiring about 5 to 8% of the CPU. Sometimes the mysqld process uses up to 50 to 80%, while other times it is near idle. I usually get about 2000-3000 connections to port 80 ( netstat -n | grep :80 |wc -l).
I would actually recommend using a Gig-E Switch running your 2nd NIC on both servers as an internal private lan between servers and each one having an external net connection also.
If you were to take both servers with two Gig-E Switches, one internal and one external, you could then easily setup an internal lan for data transfer, etc... and you will want to continue with an external access unless you have direct access to the servers at all times.