01-20-2007, 08:52 PM #1Junior Guru
- Join Date
- Jun 2004
hardware questions: db servers, web servers, file servers? cpu, ram, disk?
I have a lot of questions here so if you can't answer them all I understand. even pointing me somewhere where I could get the answers would be appreciated; hardware sites focusing on server hardware, forums focusing on such, etc.
we plan to have three different types of servers:
- db server (self explanatory. mysql. for forums, mysql driven sites.)
- file server (lots of files around ~2-10MB, consistant 70mbps right now, but we want more room for upgrades. needs a LOT of storage room.)
- web server (lots of php files, but also static things like plain html, images, etc. also includes all misc services for the setup-- dns, etc.)
could I be given a rundown for which hardware each of the three should have? I don't need specifics, even just knowing that more ram is important here while cpu doesn't matter as much, or that the fastest disks available are a must, etc would all be valuable info for me. despite that, I certainly wouldn't mind specific hypothetical hardware configs.
for the database server I'm assuming the more ram the better. not entirely sure about the cpu? also not positive on disks...
for the fileserver, how much ram would be practical or useful? disk io will be an issue I'm because plenty of people will be pulling files at once so the disk needs to read from multiple places. scsi (and even raptors) are not an option as we need 750GB+ of space on a reasonable budget. more ram will take some load of of the disks, but how much is neccessary / reasonable?
for the web server I'm assuming cpu first, then ram, but it'll likely need less ram than the db server?
I'm more lost on the disks than anything. scsi on the fileserver is not an option under any circumstances due to $/GB. for the db & web server I'm willing to pay for scsi if the performance increase really does warrant the extra money, but I'd like to be convinced before shelling it out. if you have benchmarks geared at server hardware when it comes to disks I'd really appreciate it.
also, what's the best way to network these together when colocated? each one with a dual gigabit ethernet port and then the communications go to and from the router?
01-20-2007, 09:10 PM #2Web Hosting Master
- Join Date
- May 2005
- Bay Area
Ok, so I'll give this a shot. Take this with a grain of salt. First of all it would be nice to know what kind of traffic you would be receiving, what your budget is, etc. I'm a big fan of the core 2 duo's so yes I will promote them . Very energy efficient if you are going to be collocating. You could always go dual woodcrest though.
For the database server a lot of ram is key because if you have certain bits of data that are constantly being recalled, they can just stay cached in memory rather then be pulled from the disk; 4 or more gb of memory would be nice. A core 2 duo would probably be fine in the db server, and probably small high rpm drives in a sata raid - I've never been a scsi drive guy though, so I am sure someone will come to correct me on that. Maybe two sata raptors in a raid 1 (mirroring) configuration? I would also have a hot spare.
The file serving server shouldn't need that large of a processor - maybe a 1.83 core 2 duo or a 2.13, with a medium amount of memory, probably around 2gb maybe? A raid 5 of four 250gb drives would get you your 750gb requirement, but you might want to have 5 with one acting as a hot spare. I would imagine unless you are pulling stuff crazy fast, just regular sata II 7200 rpm 16mb cache WD raid edition drives would do fine, just as long as you get a decent raid card.
I would probably configure the web side of things with a higher end core 2 duo like the db server, with 2-4gb of memory and a raid 1 setup with a hot spare. I'm not sure how much space you would need but a couple raptors would also probably be sufficient.
To tie everything in together, you would want the servers each having two NIC's, one to be WAN and the other to be LAN. The servers would all communicate with each other via the LAN connection. The db and file serving machines probably would only utilize the WAN connections for OS updates and administrative purposes. Gigabit would probably be beneficial for the LAN side of things.
Anyway, just an idea of what I would do, but then again I have no idea what your traffic is like so you might need something like dual woodcrest CPU's. Definitely get some other members advice from the forums as they will again probably have some corrections . Good luck.
01-21-2007, 12:01 AM #3Master of the Truth
- Join Date
- Mar 2006
- Reston, VA
01-21-2007, 12:49 AM #4Managed Service Provider
Originally Posted by disgust
- Join Date
- Feb 2004
- Atlanta, GA
A target budget # would be a good start because as mentioned we can all recomend "dream" hardware but it's useless recomendations if it's way out of your budget.
I would highly recomend contacting the guys at www.n3v.net (Victor posts on these forums) the type of configuration you are looking for sounds exactly like the types of things they do on a regular basis. They would be able to give you a good recomendation on hardware and I would certainly recomend them for management of your eventual colocated gear as it doesn't sound like you would be comfortable with the eventual management of the system.
01-21-2007, 02:53 AM #5Web Hosting Guru
- Join Date
- Aug 2005
Here is my take.
Fileserver: this is the easiest. Lots of SATA disk space, maybe 2GB RAM, pretty much any kind of CPU like a P4. I put together a low-end server with an ancient 1.2Ghz Athlon, with 2 SATA drives transferring full blast (rebuilding a mirror in a software mirror setup on CentOs) the drives were doing 30MB/s read or write with 0.5% CPU usage. SMP is not needed.
Remember that even 100mbps is about 12MB/second of disk reads, which any modern disk will handle. Large files like those of 2MB and up in size mean that disk reads will reach the maxiumum sequential read rate, or very close to it.
DB server- go for RAM, at least 4GB, and optimize MySQL for your specific setup - probably should have 2 CPUs. Depending on the size of your database (how much data), going to 8GB may or may not give you more performance. SCSI drives of 10K rpm will be the sweet spot unless you get a great deal on some 15K rpm drives. DNS and misc. services should not add too much CPU load.
Web server - dual-CPUs or 4-cores (perhaps 2CPU each with 2 cores) with 4GB RAM or more. You want the PHP to be interpreted quickly.
Given the price of RAM these days,I would consider 2-4GB RAM to be what you should put in each server unless there are specific reasons to have a different amount.
Networking: each server should have 2 gigabit ethernet ports; one port goes to your own backend switch for communicating between servers; the other ethernet port gets plugged into the Internet-connected router. Depending on what kind of connection you get from your provider (firewalled or not) , adding a PC with dual gigabit to do firewalling and block nasty guys may make sense (single P4 with dual gigabit cards,1GB RAM) .reliable colocation ... Dedicated Servers | Dedicated Server VMs | FAST links to Vitelity.com and Conexiant.net
[email protected] Cell +1.717.201.3366
01-21-2007, 08:59 PM #6Junior Guru
- Join Date
- Jun 2004
I'll be making a more detailed reply a bit later, but I do have a few quick questions in the meantime.
are you positive about the disk IO for the fileserver? right now using a single disk the iowait on the server is 20 to 80% from serving files generally ranging from 3-10MB in size. it's currently at ~70Mbps. I understand sequential read speeds are faster than 70Mbps, by far, but doesn't it come to a crawl when the server has to locate data in multiple physical locations on the disk, since it's serving a lot of different people? right now it's got about 500 http connections (all of which are just reading said files constantly)
how much ram relative to the size of the db info is ideal?
I'm still most curious about disk info. if anyone has any detailed articles or benchmarks that compare sata/3gbps with the various scsi formats and speeds I'd be really interested in seeing it
01-22-2007, 10:46 PM #7Aspiring Evangelist
Originally Posted by disgustJacob Turner -- Ringnebula Systems
- Join Date
- Jun 2003
- Ukiah, California
Managed IT solutions for small business
01-24-2007, 10:11 AM #8Junior Guru Wannabe
- Join Date
- Nov 2005
- Porto - Portugal
File Server - 1GB RAM / C2D E4300 / SATA2 HD´s in RAID10 or RAID5 (do not go with RAID1).
(You won´t need much RAM neither CPU power in a File Server. RAID10 would be the best option since it would provide you a huge througoutput)
DB Server - 4GB RAM / C2Quad or Dual CPU Machine) / 3x 15K SCSI HD´s RAID 5
(This is the most important server. SCSI HD´s really benefict the MySQL Performance)
HTTP Server - 2GB RAM / C2Duo or C2Quad / 2x 15K SCSI HD´s RAID 1
(HTTP Servers host really small files. HD´s Access Time is really important)