How can I optimize the disk subsystem for performance with Windows Server 2012 R2?
Local disk access can seriously impede Windows Server 2012 R2 and workload performance. Apply these strategies to improve the situation.
One of the biggest limitations to disk performance is read/write concurrency. A single disk can offer tremendous storage capacity, but read/write latencies of a single disk target can add up and cause noticeable delays. The best way to offset disk latencies is to use the concurrency of multiple simultaneous spindles found in a disk group such as RAID 0 (disk striping). With disk striping, data is spread across multiple disks, which seek their portion of a file simultaneously. Ideally, a RAID 1+0 disk configuration provides the redundancy of disk mirroring (RAID 1), plus the performance of RAID 0. If there are not enough physical disks to adequately support RAID 1+0, adopt RAID 5.
Disk caching can improve read performance, but it isn't always used for writing. System failures can cause data loss if a write cache isn't completely backed up with battery power; this usually involves an expensive write cache module or upgrade to the server. Read cache contents also can be lost, but there is no data loss because you can restore read cache contents from disk as the data is reread. If you're not using write caching, add write cache capability for write-intensive workloads.
New hardware is beneficial for new operating systems like Windows Server 2012 R2, but simply investing in a new server is no guarantee of improved performance. It's important to gather objective benchmarks of performance before deploying new hardware and then again after implementing hardware or configuration changes. Even basic tools like Performance Monitor (Perfmon) will suffice. Comparing benchmark results will offer valuable guidance about the effectiveness of any changes -- capitalizing on dramatic improvements while possibly avoiding wasted time or capital when results are not as effective.
Dig Deeper on Enterprise infrastructure management
Related Q&A from Stephen J. Bigelow
Regression tests and UAT ensure software quality and both require a sizeable investment. Learn when and how to perform each one, and some tips to get... Continue Reading
Learn the meaning of functional vs. nonfunctional requirements in software engineering, with helpful examples. Then, see how to write both and build ... Continue Reading
Just because software passes functional tests doesn't mean it works. Dig into stress, load, endurance and other performance tests, and their ... Continue Reading