It has been a while since we reported on the hardware that runs Hardware Analysis, and because we've had many inquires about what exactly is needed to run a website such as ours here's a peek behind the scenes. Unlike what many people think running a server 24 hours a day, seven days a week is no easy task, both the software and hardware must be absolutely stable, even when run at a 100% load for many hours a day. So the basis of every server is a good analysis of the task at hand, and making sure there’s enough reserve built in for future developments such as increased traffic, traffic surges, but also plenty of disk space and redundant network connections, so let's first take a look at the hardware.
The Intel Pentium 4 processor used in the new webserver.
Although many websites start off with a simple homebuilt box using off the shelf hardware meant for use in desktop systems, the specs for a fulltime server are a bit more stringent. There's a reason why manufacturers like Tyan and SuperMicro are in business, they design and manufacture high-quality motherboards meant for use in servers and workstations. These motherboards are designed to withstand 24/7 operation and are both durable and stable, even when run under extreme loads and conditions. When we started Hardware Analysis back in '01 we used a tried and trusted Intel 440BX motherboard to do the job, which performed well for about a year. At that point we decided we could do with a small upgrade
, adding more memory and a faster processor to keep things running smoothly, whilst at the same time we would be building a whole new server, built from scratch.
Two WD Raptor 36GB SATA harddisks in RAID1 for storage.
The new server obviously needed to be able to handle a substantially higher load than the old one, and thus a dual processor motherboard from Tyan, sporting dual Intel Pentium III (Tualatin) processors, was used as it offered a good trade-off in cost versus performance. We documented the construction and design considerations made for this server in a detailed article, titled Building a high-performance webserver
which promptly made it to Slashdot.org
and thus the server got a good workout the same day it was brought into service. Despite the heavy load, the server proved to be up to the task, although it was running at full steam, with both processors and the harddisks well at 100% load. In the weeks and months that followed we realized that if Hardware Analysis would continue to grow at the current rate, this server needed a replacement in about year or so as well.
A single 80mm fan is drawing heat away from the two harddisks.
We decided to start constructing
the new server already, so we could put it in the rack when construction and a stringent round of tests was completed and load balance both servers. The new server was actually put into service much sooner than expected, as while we were building and evaluating parts for the new server, which was based on Intel Xeon processors and 15.000-rpm SCSI harddisks, the old server was experiencing some problems, requiring frequent reboots to keep it up and running. Because it had been in service for about a year now and we diagnosed the problem as not being software related, we most likely were dealing with a piece of hardware slowly giving up on us. After driving up to the datacenter to try and diagnose what the problem was exactly we ended up with the powersupply giving up on us
right there and then, taking with it most of the hardware inside the server.
Two 80mm fans ensure plenty of air circulation inside the case.
Fortunately the new server was about ready to go and was undergoing final tests and thus could be placed into the rack without any second thoughts about whether it was up to the job. So we were up again in a matter of hours, due to the fact that we planned things well and factored in any such mishaps. And as you read this we have a backup server undergoing testing, that will be placed alongside our current server that has recently had some servicing
as well, as the SCSI controller, an evaluation sample from the manufacturer, had been acting up from time to time. Whilst we have replaced the SCSI controller with a new one and have been monitoring the server more closely ever since we've been moving forward with a new and low cost design to run alongside it.
A standard ATX power supply is used to power the webserver.
The new server is not really meant to replace the old one, but more or less work as a backup, or load balancing setup if needed. If anything happens to either one, we always have a fall back option. As is obvious from reading the above we were offline for a few hours when one of the previous servers had a hardware defect, this time around we plan to have no downtime at all if anything fails. The good thing about the new server is the fact that it does not use exotic parts such as Xeon processors, U320 SCSI RAID controllers, 15.000-rpm SCSI harddisks or fancy ECC memory. The new server does use a Tyan motherboard again, but this time equipped with the i875P chipset, sporting a 3.2GHz Pentium 4 processor, regular DDR400 memory and we equipped it with two WD 36GB SATA Raptor harddisks running in RAID1. Because these are all off-the-shelf parts we can simply drive up to any computer store and get a replacement, which isn't possible with the Xeon setup. We'll be putting this new server into service soon and we'll be sure to bring you an update once that's happened.
The finished webserver with the top panel of the 2U rack case removed.
As you can see it is possible to run a high-profile website such as Hardware Analysis, with millions of pageviews and over a million unique visitors every month on just a single server. Although many other websites, even with less traffic than Hardware Analysis, use many more servers to get the job done, it is due to our diligence with optimizing our soft- and hardware that enables us to pull this off. Obviously we run a custom-compiled v2.4-series Linux kernel, whereas the new server will be running Fedora Core 2 with v2.6.x. The fact that Linux is much more scalable and performs so much better than any other OS, especially the server editions of Windows, means that we're able to make this work, even without taxing the server too much. If we had been using Windows 2000 Advanced Server we’d at least need three of these servers to get the job done. At the end of the day it is all about careful planning and stringent testing, that'll get the job done, throwing more hardware at the problem usually isn't the solution. Having several Windows servers running dual Xeons might give you bragging rights, but make you look pretty incompetent if that setup is dwarfed by a single server running Linux.