In this article, we examine several techniques and tools used to test storage performance in cloud environments such as AWS, Azure or other cloud environments. These techniques also apply if you are deploying “Software Defined Infrastructure” – or SDx – as part of your enterprise environment.
At Zadara Storage, we provide Software Define Storage (SDS) within our multi-tenant Zadara Cloud System. While we commonly refer this product as the VPSA™, there is a Software Defined Network (SDN) cloud component that enables privacy within the SDx infrastructure.
You may have guessed that networking in SDx is a key ingredient in NFS and SAN performance. With Zadara’s patented technology, high performing controllers are created even though they are virtually deployed. For example, each VPSA uses SR-IOV – or PCI passthrough – to accelerate the SDN by physically mapping 40gE to the controller.
The Storage Metrics You Need to Be Collecting
What performance metrics do you need to be tracking in your virtual environment?
There are essentially three metrics that indicate how your SDX is performing:
1. Latency is the amount of time it takes to complete a single operation. This metric tells you how fast the storage system is responding to read and write requests. Latency is measured in seconds.
2. Bandwidth is the amount of data that can be transferred between the storage system and host server accessing the array. Bandwidth is measured in bytes per second.
3. I/O’s Per Second (IOPS) is a measurement of how many separate read/write requests your storage system can handle in a single second.
The Tools You Can Use to Collect the Right Metrics
What are the best tools to use for gathering these metrics?
There are a number of tools and utilities you can use to collect these metrics. .
• iperf allows you to determine the network bandwidth. You run this between two hosts or a host and the target storage. The network bandwidth gives you the maximum amount of data you can transfer per second regardless of the performance of the storage array.
• Ioping allows you to run sequential and random I/O. Both Windows and Linux versions are available. You can specify the size down as small as one byte. For small sized I/O, you can determine the latency between the storage and host.
• fio allows you to benchmark test and stress test hardware verification. It works on both block and file so you can test iSCSI, NFS and CIFS per your requirements.
• Iozone — iozone is a file system benchmarking tool that measures several different file operations. It is excellent for performing a broad file system analysis.
• Iometer — iometer is a tool for measuring I/O subsystems, useful for both single and clustered systems.
Tips on Improving Performance
What if your data indicates that the storage or network isn’t performing well? What can you do?
• Locate your storage system as close as possible to the applications. This helps keep latency to an absolute minimum. That is, if you are connecting to remote storage, use ioping to determine the lowest latency. This will give you the best performance. Within AWS, you can specify which availability zone which usually translates into different data center locations.
• Match your architecture to your storage solution. Make sure you have the correct amount of cache, the right storage node processor capabilities, and the right ratio of SSD storage.
• For Zadara, use Docker embedded in the VPSA. You will get local disk performance that bypasses the network.
There are many ways to improve the performance of your virtual environments, and Zadara can help. Take advantage of this whitepaper: Getting Great Performance in the Cloud.