Klara

The demand for storage is constantly growing—and for more than just capacity, as applications and workloads continually demand more IOPS and lower latencies. To expand your storage infrastructure to meet these evolving demands, you must understand where the limits of your current system lie. Only then can you plan to expand to provide the capacity, durability, and performance that modern applications demand.


Reason #1: You Can Only Fix What You Know

With modern storage systems, every specification as at least somewhat variable, and situation dependent. Even e the usable capacity can be variable! Modern storage systems use transparent compression to offer increased storage capacity, and how much extra storage is gained is entirely dependant on how compressible the data being stored is. 

For IOPS and Latency, a lot can depend on the block size, the locality, the transport mechanism, and even the temperature of the device. When it comes to performance, there are the numbers in the product specs and marketing, and then there is what the system is actually able to achieve when deployed in the field. It turns out that while you paid for the first number, it is the latter that you must work with.  

A Storage Performance Audit examines your storage solution as deployed, measures its real-world performance for different workloads.

So what should you expect from a performance audit?

  • The usable, pre-compression storage capacity, and how much of it remains
  • The projected remaining capacity, considering the existing workloads and compression ratios
  • The system’s maximum throughput at various block sizes
  • of the system’s I/O operations per second at various block sizes—and the latency of each I/O
  • The “time to first byte” for random reads
  • The latency of both asynchronous and synchronous writes

Reason #2: Know What Your OpenZFS System Can Do

After observing the performance of your storage infrastructure, we compare this to the expected performance. If this system should be capable of much better performance, the bottlenecks will need to be identified, measured, analyzed, and resolved. 

There may be tuning that could improve the performance of the system, but the various trade-offs need to be considered and tested to ensure there are no unexpected side effects. Is there some setting mis-aligned for your workload which is ruining throughput unnecessarily? Are there best practices that are not being followed, limiting the system’s performance?

A performance audit will identify and troubleshoot these issues, be they slow writes or underwhelming IOPS. If your system is capable of more performance with just some configuration changes, that is like getting a free upgrade! 

   | For a detailed guide on common mistakes made during ZFS storage benchmarks and how to avoid them, check out our article on understanding common mistakes in ZFS storage benchmarks.

Before expanding the system and add more hardware, ensure you are getting the most out of what you already have. An analysis of the current configuration can identify and recommend changes to the storage layout that could unlock greatly improved performance. 

Once the performance of your storage is living up to its potential, it is time to start looking at where you may need to augment your infrastructure to handle future growth.

Reason #3: Identify If Your System Can Handle the Next Workload

Applications and workloads are constantly evolving and growing, and new applications arrive every year. Can your storage infrastructure handle the next workload you add to it? Without a performance audit to know what your system is currently capable of, and metrics to know how much of that available performance is already being consumed, it is difficult to plan for the future.

Knowing how much performance headroom remains is a key input when deciding if it is time to expand your storage infrastructure. If you are underutilizing your current storage, you might be able to consolidate workloads, or add additional applications without needing to buy additional hardware. 

Knowing how much slack there is in your current system is the only way to intelligently prepare for your future needs.

Reason 4: Implement Quick Fixes

If your storage infrastructure has plenty of storage capacity, but not enough IOPS, that might be fixable with just a small upgrade. Are your applications seeing latency spikes that are disrupting your users? Could these spikes be resolved by adding a few small SSDs to reduce the latency of synchronous writes?

Adding more RAM or a flash based caching can improve the performance of the busiest subset of your data. Using a dedicated metadata device to offload precious IOPS from your spinning rust drives can transform an array from a laggard into a powerhouse. These quite small changes can often alleviate critical performance bottlenecks without breaking the bank, and without upending your entire storage infrastructure.

Reason #5: Better Planning for The Future of Your Storage

Knowing how much performance you have and how much of that is being consumed by today’s applications is key to planning for the future. With continued supply shortage, getting additional storage components can involve long lead times, and possibly substitutions due to the unavailability of the desired parts. This makes it even more important to avoid “emergency buys” by planning further ahead and making sure your infrastructure will be able to meet tomorrow’s demands as well as today’s. When expanding your storage infrastructure, it is important to understand what type of capacity you are adding, and how it will impact the storage system’s performance. You don’t want to grow the system in the wrong direction—simply providing more throughput frequently won’t improve IOPS or latency along with it!, For each metric, you need to determine when you will need more, and how much more. Only then can you plan how to lay out the new components to achieve those goals.

We can help you ensure your next round of upgrades focus on improving the metrics that will bring the most value to your infrastructure and your users.

Conclusions

A performance audit will reveal how well your system is currently performing, how well it should be performing, and suggest adjustments to get from the former to the latter. The audit report will also offer recommendations on minor upgrades that are likely to have outsized impacts to improve the performance of your storage. 

Understanding the current storage system and how it is being used are the first steps to planning to expand or replace it. Ensure your next upgrade delivers the performance you will need to keep up with the constantly growing demands of your applications and workloads.

Topics / Tags
Back to Articles

Getting expert ZFS advice is as easy as reaching out to us!

At Klara, we have an entire team dedicated to helping you with your ZFS Projects. Whether you’re planning a ZFS project or are in the middle of one and need a bit of extra insight, we are here to help!