The Solution

For database servers under load similar to that of the AnandTech main site a RAID 5 array makes sense because it offers a good balance between performance, fault tolerance and array capacity.  However for a server such as the AnandTech Forums database server, a RAID 5 array would definitely be a limiting factor in the server's performance.

The next step was to move away from a parity solution to another fault tolerance mechanism known as mirroring.  The most basic form of mirroring in a RAID setup comes with what is known as RAID 1.  A mirrored array, as the name implies, is a two-drive setup where the larger of the two drives is used to mirror the data on the remaining drive.  If the drives are of equal size, the mirror is obviously the same size as the data drive. 

The read performance of a RAID 1 array is approximately equal to that of a similar RAID 0 setup, while the write performance is about the speed of a single drive depending on the type of writes being performed. 

If you combine the fault tolerance of a RAID 1 solution with the performance of a RAID 0 solution you get two new configurations:  RAID 0+1 and RAID 10.  RAID 0+1 being a RAID 1 array of two RAID 0 arrays (four drives) and RAID 10 being a RAID 0 array of multiple RAID 1 arrays (four or more drives).  The beauty of this setup is that you get read performance that is very close to a four drive RAID 0 setup with write performance that resembles a two drive RAID 0 setup and fault tolerance courtesy of the RAID 1 component. 

For database servers such as the AT Forums database server, this setup would make much more sense although it is a more expensive solution since a minimum of four drives is required. 

Since we were building a new database server for the Forums we figured that we might as well pick out a RAID adapter that was properly supported under Windows 2000.  The original problem we had with upgrading the Forums database server to Windows 2000 was that the Adaptec AAA-133U2 RAID adapter it used did not have reliable Windows 2000 drivers.  Adaptec's only solution to this was a discount program in which they would give us a discounted price on a new, Windows 2000 compatible adapter. 

The controller we ended up going with was the Adaptec 2100S.  It is a single channel Ultra160 SCSI RAID adapter that comes with 16MB of SDRAM standard.  The controller is a 32-bit PCI solution meaning it is limited by the PCI bus' 132MB/s bandwidth limitation.  We'll explain why we didn't go for a 64-bit PCI solution later on, but for the most part this 132MB/s limitation wasn't too big of a deal; it just meant that our storage array would never be able to burst at greater than that speed, we didn't have to worry about sustained transfer rates exceeding that figure.

The array itself was composed of four 9GB Quantum Atlas 10K II drives.  A RAID 0+1/10 array of four identical drives offers a storage capacity equal to that of two of the drives.  For the purposes of our Forums db server, 18GB of storage was more than enough making these four drives a great buy at less than $300 a piece. 

The Atlas 10K II is a very high performing Ultra160 SCSI solution.  Its 10,000-RPM rotational speed and large 8MB buffer help it perform quite well.  The fact that these drives are Ultra160 solutions and are being used on an 32-bit Ultra160 RAID controller help to ensure that the drive interface won't be a limiting factor before the bus interface limits performance. 

Finding the Bottleneck Database servers love multiple processors

Log in

Don't have an account? Sign up now