So what’s the cause of poor storage performance and how to address it?
During a recent customer meeting, a rather frustrated “System Administrator” asked me the following question, which made me realise that understanding and addressing storage performance problems is still somewhat of a dark art.
“Two weeks ago, nobody in the organisation was complaining, but now suddenly we’re having major application response time problems and everything is pointing towards the storage array. So why suddenly do we have a storage performance problem, when we haven’t seen a significant increase in work load?
What are my options and how can I best address the storage performance issue in the simplest most cost effective way without introducing additional levels of complexity”.
Here’s a summary of my reply.
Poor storage performance is generally the result of high I/O latency. There are a lot of factors that can cause high I/O latency and hence result in unresponsive storage systems, but generally, the performance characteristics for any storage system (NAS & SAN) follow the standard mathematic “Queueing” theory, which can easily be modelled.
The graph below highlights the non-linear performance characteristics of a storage array, where at a given load (Io) any small additional increase in load (Io+1) will result in a massive increase in observed latency times (Im), resulting in an under performing and unresponsive storage system.

Therefore, if we can reduce the load on the Storage array, back to just below Io , storage performance will be restored. It is also evident from the graph that by further reducing the load beyond Io will not yield any additional improvements in performance as the storage system will be operating in a safe and stable region. Therefore, for a relatively small change in load (Io+1-Io) will result in a significant decrease in latency and hence an overall increase in storage performance.
There are several options available to address the above condition:
- Add more drives to your storage arrays. This can be an inexpensive solution, but adding shelves of drives can increase complexity, as well as power and cooling costs. Eventually storage systems hit a maximum drive count and need to be upgraded. Depending on the Storage array internal functionality, the existing data block may be “Levelled” across the newly installed disk spindles or alternatively several hours of data migration activities may be necessary.
- Introduce SSDs into the existing storage system (if supported). This can add high performance media quickly, but can also exacerbate the problem, as there is a significant amount of overhead associated with efficiently supporting flash devices.
- Put flash devices into the specific servers that have performance-sensitive applications. This option can address known performance bottlenecks, but it often requires significant manual configuration (like placing certain database tables on a particular device and rebooting each physical server).
Eventually, most organizations start investigating whether they should replace their array. Not unsurprisingly, array vendors support this option, offering trade-in value for existing arrays and promising orders of magnitude better performance than previous models. However, these vendors don’t usually remind you of the operational costs of a new array: data migration, learning new snapshot and replication tools, rewriting scripts and reports, and retraining staff.
The Alternative Solution – Enter Software-only Storage Acceleration.
Infinio, offers an alternative solution which doesn’t involve purchasing any expensive hardware. The “storage acceleration” content based caching solution, provides the ability to utilise the memory, CPU, and networking resources on your application servers to reduce some of the burden from the storage system. It’s simple to install (typically 30 mins) and with only a few clicks you can start to accelerate individual datastores. The other advantage of a “Write through” cache solution, is that all write I/O’s operations are passed directly through to the storage array without any delay or interference, therefore you can always feel comfortable that data is fully updated and secure on the storage array.
Under normal operating conditions, a significant portion of read I/O requests (approx 85%+) never reach the storage system; instead they are processed from cache on the host servers. This means you can continue using your existing storage systems, while your overall storage performance gets better. You can keep your storage systems longer, and delay the costs and business risks associated with data migration and operational changes that come with a new array.
Visit & Contact
StoreXltd for additional information or to range a
Product demonstration or
Free 30 day evaluation.