Choosing Your Server Hardware

We’ve seen the wide variety of server hardware, operating system, and server software options. Now suppose you’ve decided to buy an Intel-based server. How powerful a system should you buy?
Many sites get along just fine by buying a commodity PC intended for desktop use (with an Intel processor or with a competitive processor such as an AMD K6) and running Windows NT or Linux on the box. Vendors will try to sell you boxes marketed specifically to run as servers. What are the differences between server boxes and desktop ones?
-
Server PCs tend to come with greater expansion capabilities: more PCI “slots” and more room for memory.
-
Server PCs tend to come with SCSI disk drives built-in. Today’s desktop PCs come with Ultra ATA IDE drives, whose performance is impressive, but which lags behind modern SCSI devices.
-
Server PCs may offer RAID (“Redundant Array of Inexpensive Disks”) with important advantages in reliability and performance (see below).
-
Server PCs tend to provide special disk drive bays that make it easy to swap defective drives with the system turned off (“cold swap”) or even with the system still running (“hot swap”).
-
Server PCs tend to have processors (such as the Intel Xeon) and internal memory caching tuned for transaction processing.
-
Server PCs tend to offer error correcting memory, which most of today’s commodity PCs do not. This can improve reliability.
-
Server PCs offer the option of multiple CPUs, which can be exploited by Windows NT or Unix for very high performance requirements.
-
Server PCs tend to offer high-performance networking interfaces.
-
Server PCs may offer with built-in high capacity tape drives and backup software.
Let’s consider one server option, RAID, in a little more detail. RAID allows you to make efficient use of multiple relatively inexpensive disk drives to achieve better performance, reliability, or both. RAID spreads data across multiple physical disk volumes to achieve these goals. The industry has defined these “levels” of RAID:
-
RAID 0 is also known as “data striping.” This level improves performance by spreading data across two or more drives. Because data can be retrieved in parallel from multiple physical disks, performance can improve dramatically.
-
RAID 1 is also known as “mirroring.” Here you run pairs of identical drives. All data written to disk is written as a mirror image on both drives. Here you are gaining total redundancy for your data at the expense of doubling the amount of disk you must buy for a given amount of content. If a mirrored drive dies, your server can continue running until you are able to install a replacement drive; then, the new drive is automatically brought back “in sync” with the remaining one. Mirroring offers some performance improvements when both drives are operational.
-
RAID 5 provides “data striping with parity.” This provides the performance benefit of striping along with redundant information spread across the disk volumes, so that your system can continue running if a single drive fails. RAID 5 isn’t as simple as mirroring but you buy reliability at a far lower cost.
The alternative to RAID is to use a single disk volume or a set of volumes in the conventional way – each disk holds its own data entirely, and no data within a single file is spread across drives. This is perfectly adequate for many Web sites, and probably adequate for the majority of CI projects.
Other considerations to look at when buying a server include the speed of the processor and the amount of memory. In recent years memory prices have declined so dramatically that it makes little sense to buy a server with less than 128 megabytes (or even 256 megabytes or more) of system memory. Buying more memory can mean a dramatic improvement in performance, especially if you have many concurrent users or are doing a great deal of live content work.
The case for buying the most powerful processor – or multiple processors – is not so clear. Vendors charge a premium for the very fastest CPUs. Most CI sites have no need to buy the very latest CPU at the very highest clock speed. Systems that support multiple CPUs cost more, and each additional CPU adds to the price. In addition, depending on your software environment, you may not be able to take full advantage of multiple CPUs. Think twice before you spend hundreds or thousands of dollars on additional CPU horsepower for your server.
Increasingly, vendor Web sites make it easy to comparison shop for systems – both within the server and desktop categories. For instance, the Dell site makes it particularly easy to choose options from a Web form, seeing how much various configurations would cost.
A very powerful commodity PC that would make a perfectly adequate server for many if not most CI projects can be had for under $2500 including tape backup. A server-class machine can easily cost $5000 to $10,000 or more. Similar ranges of prices can be found among proprietary Unix server systems or Macintosh systems intend to be used as servers.
There are two schools of thought when it comes to buying server hardware:
-
Buy the cheapest system that will handle your load for the next year, and plan on replacing it.
-
Buy a system that will handle your anticipated load for three to five years.
Which school you follow will depend on your current budget and your budget cycles. Some sites with grant funds or other “one time” money like to buy extra capacity while capital funds are available. However, since computing power for the same amount of money doubles every 18 months, it’s very expensive to buy capacity very far into the future.
|