The Importance of IOPS

This article has nothing to do with pancakes. But feel free to eat one while reading.

Writing data to disk is the most fundamental source of latency in an online application that performs a high volume of concurrent transactions. Assuming every part of the application stack is tuned as well as possible, the operation of writing data to disk in the storage array will always be the bottleneck in scaling the system.

This is why platform engineers will tell you that their ultimate challenge in architecting a system to handle peak loads of online transaction processing is to maximize the system’s input-output operations per second (IOPS). While the entire software stack—at web server entry points, application layers, the database itself and the storage subsystem—must consistently and coherently cooperate to produce and share data as quickly as possible, the database is where all transactions must get in line for the one moment—writing to disk—when data absolutely cannot be shared.

In fact, database tuning consultants often measure their success in terms of the IOPS their efforts enable at peak system workloads. All of these operations impact IOPS:

  • How applications make SQL queries
  • How server resources interact with database management processes
  • How storage arrays are setup to move bits to and from disk.

Demand from financial institutions in particular, for whom IOPS literally equal dollars, strongly drives technology innovation. Solid state drives are a current example of enterprise technology innovating to increase IOPS.

Watching a Database Write

Assuming your in-house or mercenary gurus haved tuned your production platform, you need a way to monitor IOPS against some critical threshold. While every database and storage vendor sells monitoring tools optimized for their products, none offer a console for seeing performance across vendor products. Since enterprise planning teams tend to avoid being yoked to a single vendor for any piece of their production system, your IT team probably needs a third-party product with multi-vendor support to monitor the different database and storage components in your system. From a single web console, for example,  to monitor IOPS on all storage devices in your system, SolarWinds STM, storage performance software uses the most efficient method (for example, SMI-S Provider APIs, SNMP, CLI)  available for a given array. So, go-ahead and check out the ideal storage performance monitoring solution. Storage monitoring simplified!

pastedImage_0.png

Thwack - Symbolize TM, R, and C