Build a quad-core, 8-gig server for $900

Most enthusiastic programmers start out as over-engineers. It’s a side effect of caring deeply about our craft. With experience we learn that simplicity is king and less is more, but it takes effort. That’s why I love a quote by Ferdinand Porsche, who designed the original VW Beetle and started the Porsche company, that says:

The perfect race car crosses the finish line in first place and then falls to pieces.

After I first heard it from a car fanatic good friend, the quote went straight to my wall. If I start gold plating code or requirements, there’s Dr. Porsche to whip my ass back into pragmatism. But no other time is more trying than when I’m building a computer. I just need a RAID 10 array, a quad-core Core 2 Extreme, and 16 gigs of 2-cas-latency RAM! Of course, in a disciplined frame of mind such largesse is simply gross over-engineering. And it’s more fun and challenging to seek an optimal performance/money ratio than to buy your way out of thinking.

Or maybe that’s just what I tell myself when I only have $1,000 bucks to spend. Either way, multi-core CPUs made powerful computers far more affordable. You can build a fine quad-core, 8-gig server within that budget. In my case I wanted a VMware rig to power this website. I talk to other people who are interested in setting up a VMware lab to learn different technologies, yet feel discouraged due to server prices. But building your own server can save 50% off the price for a similar Dell product. When I priced a PowerEdge tower comparable to my custom build, it came out at $1,900 for the Dell versus $930 for custom. That’s actually a good deal for a business. But for home users, building our own is often the best (or only) option. So here is my parts list, along with some tips:

computer parts
Build parts

[Update: The server has now been running for about 3 months with continuous uptime (a single reboot). No problems that I know of. However this parts list is about 3 months old and could be improved upon. Take a look at the comments section as people made good suggestions. Here are some ideas: 1) AMD CPUs might be a good way to go, freeing up some money to spend on perhaps more disks, 2) a cheaper motherboard (hopefully with integrated video) would be fine, provided it's a good brand, 3) stick with 16MB-cache hard disks. Just make sure to check the NewEgg reviews: see what people are saying, the overall rating, and the percentage of one-egg reviews (ie, people who hated it). Then read some of the one-egg reviews to find out what the problems are. If they're complaints about Dead On Arrival (DOA) products, then you should be ok since every product has those; but if something more sinister is going on, stay out. If you're going to run Linux, Google quickly for the motherboard name + "Linux" to see what people are saying. Don't trust editor reviews: always check out what the people say. Vox populi, vox dei.]

Component Part Price
Motherboard MSI P6N SLI Platinum LGA 775 NVIDIA nForce 650i SLI ATX Intel Motherboard - Retail

This is a top-quality motherboard, but make sure you upgrade the BIOS to the newest version. They ship with a buggy BIOS which crashes the machine after the BIOS post when you install four 2-gig RAM modules. This happens for many RAM brands and took 2 hours to track down, the biggest time sink in this build. After upgrading the BIOS all is well. I left the machine running memtest86 for a day and a half with no problems.

The motherboard works well in Linux, but there are some quirks with stock distro kernels due to the newish chipset. As usual Ubuntu had the best support, but HPET is not working. I disabled it in the BIOS for now to prevent "lost some interrupts" log messages. lm-sensors only retrieves CPU core temps and nothing else (in CentOS, lm-sensors didn’t work at all). I’ll look into both of these issues later, but they’re minor annoyances: overall everything works well; HPET is useless anyway.

$139.99
CPU Intel Core 2 Quad Q6600 Kentsfield 2.4GHz LGA 775 Quad-Core Processor Model BX80562Q6600

I don’t normally overclock. Most workloads aren’t CPU-constrained and overclocking often adds cost and headache to little practical advantage. By not overclocking we can use the stock heatsink that comes with the processor, saving some money. My idle core temperatures are at ~30oC; they peaked at ~60oC after a day of Prime95 (one instance per core) with no errors. These are fine temperatures, no need for a 3rd-party heatsink.

$254.99
Case Antec Performance One P180 Silver cold rolled steel ATX Mid Tower Computer Case - Retail

This is a glorious case, but I only bought it because it was on sale for $89.99. It’s pleasurable to work with a good case, but really, you only work with it for one hour while you build the computer. Again, if you’re not overclocking and hence not worried about whether a degree Celsius will corrupt your file system, you can safely buy in the $50-$80 range. Stick to cases without power supplies though, since bundled power supply units are usually crap.

$129.99
Power Supply Antec earthwatts EA380 ATX12V v2.0 380W Power Supply - Retail

People go overboard on power supply wattages. There’s no reason to. All you get for idle wattage is a higher electrical bill and a warmer planet. This is a good-quality, energy-efficient (80+ certified) power supply with plenty of juice for our server. Perfect. Adjust accordingly if you have power-hungry video cards or peripherals to be fed. Always buy a good power supply unit. Power supply problems are disastrous: 1) they can fail and bring your server down, 2) they destabilize and crash the computer, and 3) they fry all your other components. Be economical on the wattage but not on quality: stick to good brands and check the Newegg reviews.

$59.99
RAM G.SKILL 4GB(2 x 2GB) 240-Pin DDR2 SDRAM DDR2 800 (PC2 6400) Dual
Channel Kit Desktop Memory Model F2-6400CL5D-4GBPQ - Retail

Great reviews on newegg (5 eggs, 2% 1-egg rate), passed multiple passes of memtest86 for me. It’s a winner.

$79.99 * 2 = $159.98
Video Card EVGA 256-P2-N297-LX GeForce 6200LE TC 512MB (256MB on board) 64-bit GDDR2
PCI Express x16 Video Card - Retail

I look for two things in video cards: fanless cooling and low power consumption. Fans move, therefore they make noise and fail. You can avoid both with a heatsink-only card. They also tend to draw less power. This one runs cool, supports 2 monitors, comes with an S-cable and DVI adapter, and costs 7 lattes.

$27.99
Hard drives Western Digital Caviar SE WD3200AAJS 320GB 7200 RPM 8MB Cache SATA 3.0Gb/s Hard Drive - OEM

Disk I/O is the most common bottleneck I find when troubleshooting server performance. It’s also the subsystem most affected by virtualization. In fact, CPU and RAM work basically at the same speed in the host and guest. But disk suffers for many reasons. So we go with 2 hard drives. The perfect car breaks apart after the race, but it finishes in first place.

This drive is a solid 5-egger (hahah) with only 2% 1-egg ratings. I trust WD as much as any other. Unfortunately, this was not the drive I bought, but it’s what I would buy now. I bought the SAMSUNG SpinPoint T Series HD501LJ 500GB 7200 RPM 16MB Cache SATA 3.0Gb/s Hard Drive - OEM for $105. It’s a 5-egg drive too but it has 8% 1-egg ratings, several of which are complaining about failure after a few months. That’s much worse than a drive being dead on arrival. Now I live in phear of my hard disks going bust on me. Yay for Linux software raid.

2 * 72.99 = $145.98
TOTAL   $918.91

hard drive enclosure

hard drive enclosure
This hard drive drawer is a nice touch in the Antec P180. The white rubber things help damp hard drive noise.

I never buy CD/DVD drives or floppy drives. I have a USB Lite-On DVD reader/burner and a USB Sony floppy disk. I’ve used them for years on countless computers, installed all the OSes, flashed the BIOSes, never had a problem. It’s a great solution. You can save money on every computer, plus no worries about powering a DVD burner off your power supply.

For a home server, especially one running VMware, I recommend a simple Uninterruptible Power Supply to prevent file system corruption. VMware is particularly sensitive (I have a detailed entry coming up on this). Since this type of corruption can cost hours and I only have a few hobby hours a week, I’m more than willing to pay for an UPS. I really like this APC unit. If you buy one, make sure you set everything up so that the computer really shuts down if power is lost, otherwise you’re just running a $100 LED display.

full build
Here’s what the full build looks like

The computer runs silently. In fact it’s two feet away from me right now, case open, and I can hardly hear a thing. Assembly time for this box was about one hour. I wasted another two hours figuring out why it crashed with 8 gigs of RAM. Fixing the problem was a matter of minutes: I just flashed the motherboard BIOS and it was cured. And that was the easy part of getting the server up and running. I’ve since been doing some experiments on file system and virtual machine performance, which takes a lot more time than plugging connectors together. I should have some results over the weekend.

Comments

28 Responses to “Build a quad-core, 8-gig server for $900”

  1. Vinay Menon on March 24th, 2008 3:45 pm

    Awesome Article Gustavo. It really makes me want to go out and duplicate what you did. Sounds like quite the rig. Looking forward to seeing how it works out.

  2. Bruno on March 27th, 2008 2:52 pm

    Nice one indeed. I’m equally amazed by the current state of hardware prices. Wired recently featured an interesting article that touched on this subject: "Free! Why $0.00 Is the Future of Business". link: http://www.wired.com/techbiz/it/magazine/16-03/ff_free?currentPage=1 Cheers

  3. Gustavo Duarte on March 29th, 2008 10:07 pm

    @Vinay: Well, if this keeps going, http://www.google.com/search?hl=en&q=CAD%20IN%20, pretty soon it’ll be cheaper for you than me ;) Plus you know my number for tech support.

    @Bruno: thanks for the Wired article, it’s in the to-read list (which amazingly gets drained in a disciplined fashion nowadays). I remember paying $1,080 for a PC-AT 286 with 1 Mb ram, 40 Mb disk, 20 Mhz processor. Hah. Still, I suppose we’d both gladly trade off the hardware to have our 16 years back. Damn dude, we’re old, somebody help!

  4. Chris Morrell on April 3rd, 2008 5:42 am

    That’s a fantastic start to a great server. I’m glad to see you went with some 16mb cache drives, just that little bit can help with burst writes. It’s a shame this build didn’t come together in mid-April, the Western Digital 320GB single-platter and 640GB double-platter drives are offering fantastic performance at a cheap costs. The one bit about powersupplies, more often than not your ultra high wattage powersupplies are much more efficient than the 300-400w hackjobs that come with most cases(and most beginner builders end up using). Even though the PSU is rated at xxx amount of watts, it’ll only pull the amount required by the PC plus the inefficiencies lost in conversion. I usually run 2 PSUs when I’m benching, 1 for the CPU and 1 for the GPUs and accessories, the whole rig will only pull ~500-600 watts at full load whereas the PSUs are rated for a combined 1400 watts.

  5. Dan Hulton on April 3rd, 2008 2:56 pm

    I’m a little shocked - I just built a new computer a month ago and had nearly that setup. Same case, same CPU, same mobo. Mind, I have only 4GB RAM and an 8800GT, but mine is for gaming, yours is for serving. Though I’ve been mulling over doing a "stripped-down" version very similar to yours to take over hosting tasks.

  6. darg on April 3rd, 2008 3:12 pm

    Go with AMD CPU/Mobo with integrated HD2K ATI GPU (its for server anyway). Save another $100. Can also save on PS case etc. I’m just making the point if you absolutely need to you could build a quad core machine these days for $720. Which means you can build a 64-node teraflop supercomputer for $11K. Commodity hardware rules. Don’t let anyone say these are not amazing times we live in!

  7. Ariel Meilij on April 4th, 2008 9:44 pm

    Great article! You make it sound so easy…

  8. Chris on April 6th, 2008 3:43 am

    You could have gone even lower power and cheaper as well with an AMD Phenom quad-core ($160ish) and an integrated chipset board based on the 690G ($70ish). The processor alone would save you almost $100 for roughly equal performance (possibly higher in VMWare) and the motherboards are also quite a bit cheaper as well (but USB performance is pretty poor) and would support dual monitors with the integrated graphics. Your build isn’t a bad one at all, its just possible to go even cheaper but I’d probably use the extra money saved to throw in a couple more hard drives to try and minimize the IO bottleneck of VMware even more

  9. Billy Bob on April 6th, 2008 4:08 am

    Umm that’s not a server but more of a home computer. Please, remove server from anything you said and replace it with home computer. It lacks basically everything a server is and yet you call it a server.

  10. sunguch on April 6th, 2008 4:14 am

    I don’t get it: does the cost ($918.91) mean you get a free os and a monitor?

  11. Martin on April 6th, 2008 4:23 am

    Its a server so presumably it wont have a monitor plugged in 24/7 - only for install. Furthermore, he mentions in the article that he will use linux on it so no need to pay for an OS.

  12. she on April 6th, 2008 12:14 pm

    "does the cost ($918.91) mean you get a free os and a monitor? " With Linux, you dont pay for the OS and addon software, and with Wine you can even use most windows software too ;-) (albeit granted several things will be a bit complicated to setup, take time, or even not work. but in practise, i found that most things I like, also works)

  13. free software on April 6th, 2008 1:13 pm

    Interestingly the cost of the GeForce 6200 512MB video card was only $27.99, and it supports 2 monitors!

  14. troy on April 6th, 2008 1:28 pm

    i have an asus striker board,with four gigs ddr2 800, two 8800gt video cards, 320gig sata 2 drive, q6600 quad core,and a aluminum case by lan li very cold. can this be a server? even tho i only have four gigs of ram? im only 22 and been building gamer machines for some time and would love to know about servers and networking just dont have the basics down yet. o yah do you really need microsoft server 200?? whatever or linx works good? also have one more amd machine just about the same just single video card and 3 gigs of ram. forgot also they both have dual lan built on the boards? hmm why i dont know, also my fist machine has external sata ports, is that for hot swaping. sorry for all questions this seemed like a good time to ask. thanks

  15. Rob on April 6th, 2008 1:50 pm

    Pretty sick issue of the Economist… to say nothing of the computer :)

  16. Mark on April 21st, 2008 7:00 am

    Just curious if you considered a Xeon processor. There are a few in the same price range as you paid. If so, what were the reason you didn’t use one in your build?

    http://www.newegg.com/Product/Product.aspx?Item=N82E16819117151

  17. WordPress up and running : Gustavo Duarte on April 24th, 2008 12:11 pm

    [...] crash of BlogEngine.NET (the one where it took down a dual-core, 4-gig box all by itself after the quad-core server post made front page on Reddit). Commenting is back to normal, and my overdue replies are coming. [...]

  18. Gustavo Duarte on April 24th, 2008 11:51 pm

    @Chris: Thanks a ton for the feedback on the hard drives. I’m going to update this article (with a notice) to point people towards better options. I think these WDs sound like the way to go. Concerning the PSU, that’s another good argument for good quality PSUs. They pay for themselves!

    @Dan: That case is popular. I got lucky that it was on sale with $30 off, otherwise I’d probably not have gotten it. Concerning the MOBO, I went with it because of positive Linux reviews and New Egg customer choice awards, but I do think there are better fits for server mobos out there.

    @darg: Yea, AMD would probably have made more sense here. More on that below.

    @Ariel: it is easy :) I was hoping it would come across like that. If you decide to build, let me know if you need help.

    @Chris: yea, those are excellent points. I think you’re very likely right, that the perf/price ratio would be better doing as you describe. I’ve been in “Intel mode” since these Core Duos came out, this was sort of a blind spot. I’ll make a note of this in the article body.

    @troy: Sure, it can be a server. If you stick Linux in an old Pentium and serve MP3s off it to in your house, that’s a server.

    Now, in a corporate data center you would find several technologies that are not included here. Things like storage area networks, redundant power supplies, hot swap hard drives, serial consoles, and so on. So, from a hardware perspective there are huge differences between the home server described here and a corporate server.

    If your goal is to learn software and technologies, the computers you describe are plenty good. I would go with Linux myself, and take it from there. If you’d like to work with data center hardware, then it’s not feasible to do it from home unless you have a lot of money.

    Most of the redundant technologies make _no sense_ at all at home either. They would more than double the cost of the computer, making it better to buy two of them. Also, the likely outage problems in a home scenario are best addressed with different strategies (ie, no server redundancy can help if your ISP is down, or you’re traveling abroad and the maid turns off the computer by mistake, or you go without electricity, etc).

    @Rob: hahaha :)

    @Mark: good point. I did consider Xeons, but when I did the search back when Newegg did not have any in stock within the price range. The one in your link is currently out of stock as well (maybe it sold out after your comment though).

    I’m not sure how the extra L2 cache would tradeoff with the slower clock for the stuff I’m using it for. But yea, it might well be a good option (also the AMD processors per previous comments).

  19. Doug on May 6th, 2008 7:14 pm

    I’m trying to put together something similar for a server. I’m trying with the quad-core AMD Phenom processor and 1066 ddr2 ram and motherboard.

    Gigabyte AM2+ motherboard (supports up to 16gigs ddr2 1066 ram instead of just 8 )
    http://www.newegg.com/Product/Product.aspx?Item=N82E16813128081

    AMD phenom 2.2ghz quad-core processor (can be upgraded if you want to spend a little more)
    http://www.newegg.com/Product/Product.aspx?Item=N82E16819103251

    G.Skill 4gig ddr2 1066 ram:
    http://www.newegg.com/Product/Product.aspx?Item=N82E16820231166

    Western Digital 500 gig drive with 16meg cache:
    http://www.newegg.com/Product/Product.aspx?Item=N82E16822136073

    Then just a cheap case with 400W power supply: (upgrade if you like)
    http://www.newegg.com/Product/Product.aspx?Item=N82E16811147001
    and a cheap video card like you got plus a DVD/CD burner drive.

    So I only have 4gigs RAM instead of 8 like above, and only 1 hard drive at the moment instead of 2. I add more RAM and space later.

    Total comes to $612. Plus I need an extra monitor. I usually stick to Samsung, but the Hanns brand seems to be popular on Newegg and this 19″ widescreen is only $179:
    http://www.newegg.com/Product/Product.aspx?Item=N82E16824254001

  20. Tony on May 7th, 2008 11:58 pm

    Man, what OS do you use for this server?
    How do you distribute threads to different cores, so that you have uniform loaded cores/CPU?

    Nice work you did here!

  21. Marcus on May 11th, 2008 2:50 am

    Great article!
    Newegg.com has changed some of the prices of the products in your setup for example the CPU was 254.99$ when you bought it now it’s $214.99.

    If you got Vista on the PC what windows vista experience score do you got?

    Thanks dude!

  22. Desideratum Quent on May 11th, 2008 9:03 pm

    Is this supposed to be a “VMware rig” or an ESX rig? ESX wants SCSI, at least for the boot disk. Oh sure, non-SCSI boot configs are supported…but there’s _supported_ and [hand-waving] “supported”. I would never want to admin an ESX box with a non-SCSI boot drive…unless I was gettin’ paid by the hour, that is.

    I would be wary of Athlon-based hardware configs for ESX as well. An Athlon-based whitebox system that matches –exactly matches–the setup of a fairly recent PowerEdge, yeah, that should work. Otherwise, YMMV. I’m running 3.5 on a PE 2450, which should be impossible, based on the 3.5 docs, but I know how to hack it to boot.

  23. jayson on June 11th, 2008 3:16 am

    That is impressive. Unfortunately many of this stuff is not available near my place. Here is my own version which costs a bit more!

    http://www.jaysonjc.org/build-a-pc-guides/how-to-build-a-gaming-computer-under-rs60000-1500/

  24. john k on June 11th, 2008 11:50 am

    Great article…but be careful when you spec out the power supply. Total wattage is immaterial. Each component in your computer draws power from the 3.3V, the 5V or the 12V rails and you need to ensure that your power supply can comfortably cover the power requirements for each.

    Gustavo, please email me if you want to update your article with a spreadsheet template I used when I built my home system.

  25. Gustavo Duarte on June 12th, 2008 2:33 am

    @Jayson: hey, I’m from Brazil, so I know all about paying higher prices! When I was growing up there computers were twice as expensive as compared to the US. I’d look at PC World and weep! heh. I really liked your gaming rig too. Sigh, I wish I had some time to play.

    @John: you’re right, there’s definitely more to it than total wattage. I’ll send you an email regarding the spreadsheet.

  26. serverquestion on June 23rd, 2008 6:52 pm

    Nice article - really appreciate you sharing!

    QUESTION: Have you or anyone here tried using mini/micro ATX mobos for production web servers?

    I’m using some old micros at this time, which run fine, but I’d like to know if anyone can recommend a a new breed of mini/micro boards for production web servers?

    Why mini/micro - size allows me to stack more in my little server room - I don’t use U form but sandwhich as Google did in early days.

    Power usage is quite small too.

    I’m open to ideas, so please suggest what you think best mobo would be.

    Oh - I use FreeBSD, but don’t let that influence your choice - I can always check compatibility issues later.

    Of course, PCI Express and PCI slots etc are a waste of space and $, so please keep to boards that couldn’t be used in Shuttle case for gaming etc.

    Thanks

  27. Gustavo Duarte on June 24th, 2008 1:24 am

    @serverquestion: you’re very welcome. That sounds like a cool set up you have.

    Unfortunately, I don’t really know of any MBs offhand :( The best I can offer is my suggestion above for seeking out newegg and other user reviews. Wish I could be of more help.

  28. Some Random Links on June 25th, 2008 9:22 am

    [...] You can now buy a quad-core CPU, 8GB of RAM, a TB of hard drive space, and all the other pieces of a home server (case, power supply, etc.) for about $900. [...]

Leave a Reply