In any SQL Server installation, the main bottleneck is going to be disk I/O. If the hard drives are not configured correctly, there will be contention for disk I/O. If indexes are not created and maintained appropriately, there will be more disk I/O than is necessary. If queries are not written properly, rather than being cached, they'll have to be performed on disk.
In order to reduce contention for disk I/O, it is ideal to segregate the major functions on a SQL server. This must be done at the controller level. Windows will handle I/O to separate disks much more efficiently than it will handle I/O to partitions on the same disk.
In my new server, there are a total of 17 hard disks. 6 of them are 15K RPM drives at 146 GB each. 8 of them are 10K RPM drives at 300GB each, and the remaining 3 are behemoth 1TB drives, but spin at only 7.2K RPM. They are configured like this:

By segregating the different components in this way, I/O will be optimized. Windows can read and write to the page file on Disk 0, can read and write to the system databases on Disk 1, can read and write the transaction logs on Disk 2, can read and write the databases on Disk 3, and finally can write the backups to Disk 4 all simultaneously.
No comments:
Post a Comment