When I left off yesterday, I was describing the system of the Dell PowerEdge T300. Today, I'll pick up with more information on the system's memory and disk drives.
Memory
As a review, memory (RAM) is used by the computer to temporarily store information that might or might not ultimately end up on a disk drive (or some other permanent storage). When a program stops running, the memory it has used is returned to the operating system for other programs to use. When the operating system is shut down, all memory is effectively cleared out.
Why is more memory better? Memory is tremendously faster than disk drive access. As a result, the more memory the machine has, the more information can be kept close at hand (and not re-read from disk). This speeds up program execution.
Modern day operating systems are not really limited by the amount of physical memory installed. They are able to pretend that there is more memory by automatically swapping sections of memory out to disk in something called a "
swap file." This is similar to putting some of the papers on your desk in a folder so you have more room to work.
Swap files are essential for programs that temporarily need a lot of memory, or when many programs are running on the computer at the same time. Otherwise, the computer would come to a dead stop when all physical memory is used up.
We'll talk more about this further along, but for our current discussion, it's enough to understand that if the system doesn't have enough RAM to run efficiently, it will be forced to read and write from the swap file, which is much, much slower.
So how much RAM do you need? This is a number that changes daily. The system I configured includes 24GB (Gigabytes -- about 24 billion characters). The difference in price to install only 8GB was about $500 dollars, so we can assume that we are paying about $750 for the memory. These prices and the capacity of RAM modules are constantly moving. Get the most that your running application will use.
Disk DrivesDisk drives are probably the least understood and most important component gating performance on servers today. Why? They are so much slower than the memory and processor that they cause delays in typical applications. Most of the time spent in a typical program is actually waiting while doing such things as loading executables, reading configuration settings, opening files, and processing database queries.
Disk drives today have one or more "platters" -- round disks that store information in rings (or cylinders) spreading out around the center. To read or write information, the platter must be rotated to the right position and a read/write head must move in or out to the right ring to do its work.
Once the position is right, the disk controller will start to transfer bits (ones and zeroes) in one direction or the other. All of this happens at tremendous speed relative to the description you just read, but it is never quite as fast as we would like.
A disk drive platter rotates somewhere between 7,000 and 15,000 times per minute, depending on the specifications of the drive. We call the delay in waiting for the platter to rotate to where our data is "
rotational latency." The faster the drive turns, the sooner we get to the data. The drives selected above are all spinning at 15,000 times per minute.
The time a read/write head takes to move in or out on the disk to the required ring is referred to as "
seek time." This number doesn't tend to show up in drive descriptions as much as it used to, but it is a good number to be aware of when you're looking at two drives that appear the same otherwise.
The last metric we want to think about is referred to as "
transfer rate." This is essentially how fast data can be read once we get to the right spot on the disk. In the case of the drives in the configuration above, the drives transfer data at 3 gigabits per second (about 3 billion binary digits; it takes eight to make a full character, or "
byte").
Note that I chose only 450GB drives and SCSI (pronounced "skuzzy") drives at that. Why not use the much larger 1TB (terabyte) SATA drives instead? In this case, bigger is not better.
The larger drives will hold more information, but they won't turn as fast as the SCSI drives. In this configuration, each of the drives added about $500 as compared to a similar SATA drive. It's worth the difference for the speed.
You'll also see that I chose to install four different drives instead of one or two larger drives. This is because we can organize our data on different drives to maximize the performance of our drives.
Think of it this way: You ask a drive to read a piece of information from a disk file that is on the outside edge of the platter. Then you ask it to write to another file that is on the inside edge. As you repeatedly read and then write, you must wait for the drive to turn and the head to move in and out for every read and write you do. With two separate drives (one for reading and one for writing), the delay is much less.
Since most applications open many files in many places on the disk, the drive spends most of its time moving from one place to another to read and write data. And this is the most expensive operation on our computer.
By carefully organizing our two files on different disk drives we might (not everything is that simple) actually read from one drive and write to the other drive without making them jump around. We'll discuss this more in the "tuning" section tomorrow.
A Final Note about Hardware
Brand names are almost always more expensive than discount machines. There is often a very good reason for this. When a vendor assembles a machine for you, they have tested the compatibility of the various components and are far more likely to use the best matches.
For example, when you buy memory, the system will attempt to adjust to the speed of the slowest memory module installed. If the modules run at different speeds or are assembled with components with different specifications (or quality standards), your system will actually run slower and might handle more timing errors at the hardware level than you realize.