Are your servers applications running slowly? Experiencing lag when working in your virtual machines? Are Users complaining about how long it takes to load a file from the File Share Server? Then you may be hitting the performance cap on your hard drives or raid array. Regardless of what services your servers are running their agility all comes back to the hard disk.

     Hard drive disk performance is one of the most impactful and more complicated aspects of system performance. Understanding RAM and CPU, by comparison, is straightforward. A glance in Task Manager in Windows or HTOP in Linux can tell you that you are out of RAM or the CPU is overworked. Hard drives, however, have multiple characteristics that play into their ability to deliver data quickly.


What Matters

     The two key factors you need to look at are Data Transfer Rate and Input/output Operations Per Second(IOPS). The other hard drive characteristics like the number of RPMs, sector size, disk size, and seek time all contribute to the disks Data Transfer Rate and IOPS.

Data Transfer Rate

     Data Transfer Rate also referred to as throughput is the measurement of how long it takes to seek the data internally in the disk and pass that data to the host’s processor. This is measured in Megabits per second and is what you will typically see listed when buying a new hard drive.

Input/output Operations Per Second(IOPS)

     IOPS measures the time it takes a storage system to perform a read or write command on the storage media. The number of commands that can be performed in one second is your number of IOPS.


How It Relates

     Depending on your application one of these performance metrics will be more important than the other. A hard drive hosting a high transaction database will be impacted more by the number of IOPS it can perform than the Data Transfer Rate. This is because the amount of data being moved is small but the number of times per second it changes is very high. For file servers, this Data Transfer Rate is favored higher since it is reading and writing large amounts of sequential data.