LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Server
User Name
Password
Linux - Server This forum is for the discussion of Linux Software used in a server related context.

Notices


Reply
  Search this Thread
Old 08-08-2008, 11:35 PM   #1
BigFunkyChief
LQ Newbie
 
Registered: Oct 2006
Posts: 15

Rep: Reputation: 0
Recommendations on specs for a high-load web server


My boss has asked me to build the most powerful web server I can for the lowest price possible...(ha, don't all bosses want the most for the least amount of $).

I'm not sure how heavy the app on the server is going to be yet, still in development, and will likely need clustered servers down the road. Internet connection is no bottleneck, 20MBps plus burstable.

Web server will run MYSQL databases and I guess Apache (unless I can get thpttd to work better).

I am thinking Intel Quad Core Q6700 2.66 GHZ proc on a EVGA nForce 780i SLI Socket 775 motherboard. 4 GB of PC9600 DDR2 memory. I'm also needing a RAID setup, was thinking RAID5 with 3 500 GB SATA II disks.

How does this sound? Anything I'm missing? Should I go higher on the Quad Core proc just to get a little extra power? RAID5 the best solution for a high availabilty web server (only retrieving user info and settings from the database, so lots of calls but not a lot of data to transfer).

Thanks in advance.
 
Old 08-08-2008, 11:37 PM   #2
BigFunkyChief
LQ Newbie
 
Registered: Oct 2006
Posts: 15

Original Poster
Rep: Reputation: 0
OS

Almost forgot, was planning to run Fedora Core 9, only because I have more experience with that flavor of Linux than others. Is there another distro that might be better suited for a Apache/MYSQL/FTP server?
 
Old 08-09-2008, 08:12 PM   #3
chrism01
LQ Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Centos 7.7 (?), Centos 8.1
Posts: 17,735

Rep: Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523
There are 1 or 2 other thrs around on similar issues here at LQ, so have a look at them.
IMHO, if this is going to be a serious prod server as it sounds, you might be better off with CENTOS (free RHEL). You'll be able to use RH's cluster solns and its more stable than Fedora.
I'd look into the I/O bus figures, DBs are I/O bound if busy.
Rule of thumb: disk is 10x slower than RAM, which is 10x slower than cpu.
Prob need more RAM as well, esp if you want Apache and MySQL on same boxes.
MYSQL has a cluster soln, but you need to run only MySQL on those boxes (a good idea).
You may not need to go to these extremes yet, but allow for them in your plans ie plan scalability in at the start.

Last edited by chrism01; 08-09-2008 at 08:13 PM.
 
Old 08-11-2008, 11:52 AM   #4
BigFunkyChief
LQ Newbie
 
Registered: Oct 2006
Posts: 15

Original Poster
Rep: Reputation: 0
Cool, great advice, thanks for the tips. I do want to plan in case our server load becomes huge, so your post was quite helpful. I'm going to play around with CENTOS and possibly thttpd, i have heard it is much more efficient than Apache (though I don't know how easy it is to cluster a thttpd server).

Thanks again.
 
Old 08-11-2008, 01:06 PM   #5
kenoshi
Member
 
Registered: Sep 2007
Location: SF Bay Area, CA
Distribution: CentOS, SLES 10+, RHEL 3+, Debian Sarge
Posts: 159

Rep: Reputation: 32
For production, don't use consumer grade components. Pick a server board at least, with both PCI-X and PCI-E slots (make sure there are not just 1x or 4x slots).

If you plan on scaling later, you are better off just buying 1u or 2u servers from HP or Dell...you can check out Penguin or Supermicro if your boss is really really cheap. Reason? Unless you have the engineering resources (ala Google) to design, build, assemble, test, and certify your own servers, it makes no sense to re-invent the wheel, your time as an ops engineer is better spent elsewhere.

RAID 5 is fine for a db that doesn't have a lot of writes, but this all depends on what your are sizing this server for. High capacity and low spindle count means a royal pain if a drive goes down, a large percentage of your data will be in degraded mode and it will impact the speed if not perceived reliability of your website/application. At the very least, think about a hot spare, and make sure whatever controller you use will keep the hot spare powered off or in some kind of passive mode until its needed.

There's a lot of detail you left out...but anyway, most important thing is, make sure you understand the service level your boss wants to achieve and make sure whatever you spec can meet those SLOs. If you need more money, trust me, butt heads with your boss, draw the line in the sand, and make some noise.

Don't cut corners now just so you can be the man who can do the impossible. Believe me, if things go wrong, everyone will blame you. They can easily pin you with "not effectively communicating the risks" to management. Yes I learned this the hard way lol.

Hope this helps.
 
Old 08-11-2008, 02:25 PM   #6
chort
Senior Member
 
Registered: Jul 2003
Location: Silicon Valley, USA
Distribution: OpenBSD 4.6, OS X 10.6.2, CentOS 4 & 5
Posts: 3,660

Rep: Reputation: 69
kenoshi has a lot of good suggestions. I would second the motion to buy an off-the-shelf machine from Dell/HP/IBM. If that's too expensive, try www.ASAcomputers.com, or any of a number of independent "Linux-friendly" system builders. Let the sales person know you're looking for a platform that will function as a high-performance webserver so they can steer you in the right direction.

In general, you'll probably want a 2u box so you can fit 6 drives in it. The drives don't have to be high-capacity, but they should be high-performance. You want to spread the I/O across as many spindles as possible.

The advantage of getting a machine like this "off-the-shelf" is that you know the components will work together, and they've been designed for the highest performance possible. For instance, mixing RAM in asymmetric quantities can severely impair performance. The major vendors know this, so they only offer you configurations that provide the best performance. Same is true with the drives + RAID card, RAID array configuration, etc, etc...
 
Old 08-11-2008, 02:27 PM   #7
farslayer
LQ Guru
 
Registered: Oct 2005
Location: Northeast Ohio
Distribution: linuxdebian
Posts: 7,247
Blog Entries: 5

Rep: Reputation: 191Reputation: 191
If you are doing RAID 5, get a well supported hardware based RAID controller like 3ware, LSI Logic, etc.. a fakeraid controller just will not do for any kind of decent performance.

I also agree with the suggestion above, for better Database performance - More smaller drives rather than fewer LARGE drives can improve performance.

So if you are going for say 1 TB RAID 5 array you could..

3 - 500 GB drives = 1 TB - good performance
6 - 200 GB drives = 1 TB - better performance
11 - 100 GB drives = 1 TB - best performance

the hot spare is also a great idea.

take a look at the hardware section of this document on postgress performance tuning

I've also shied away from building my own servers.. yeah you save money up front but if hte server goes down due to a hardware failure you suddenly find yourself scrambling for parts.. Dell, HP, and IBM all have Linux pages discussing server hardware compatibility with Linux. and quite frankly their boxes do perform far better than any franken-servers I've put together.

Apache perfomrance tuning again quickly review the hardware recommendations.


If you do decide to build your own server, a GOOD case with bays for all those hard drives is a good idea. I used this case from Chenbro for one server build, along with Two Hardware RAID controllers from 3ware, a 4 port and an 8 port, so I could separate OS and Database arrays, worked out very nicely.. it's a good solid server case.
 
Old 08-12-2008, 12:04 AM   #8
chrism01
LQ Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Centos 7.7 (?), Centos 8.1
Posts: 17,735

Rep: Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523Reputation: 2523
If this really takes off, you're going to need a 3 tier structure:

1. IP redirector eg http://www.f5.com/products/big-ip/

2. bunch of Apache servers, pref as many pages as poss being static html

3. a bunch of DB servers, either clones or a cluster.
Clones enable you to upgrade one box at a time and let it run for a week or two before you commit/change the others. Downside is you may have to have complete DBs on each box; depends on the application.
A cluster enables you to have one integrated DB, but you need a serious test cluster as you can't upgrade part of a cluster (usually).
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Server high load and slow lavinya Linux - Server 20 12-01-2007 03:04 PM
Server Load Times High, help? Networks Linux - Newbie 6 05-05-2007 12:37 AM
High server load problem eagletalontim Linux - General 5 01-12-2006 10:42 AM
Web Server Distribution Recommendations thekidder Linux - Newbie 2 09-09-2005 07:22 PM
Web Server Hardware Recommendations jekingry Linux - Hardware 1 09-24-2003 11:52 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Server

All times are GMT -5. The time now is 08:29 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration