This article can also be found in the Premium Editorial Download "IT in Europe: Object storage: An elementary approach to file structure."
Download it now to read this article plus other related content.
Don't let capacity concerns or virtualized servers bog down the performance of your storage systems. Here are 10 ways to pump up the performance of your storage arrays and networks.
Given the choice between fine-tuning data storage for capacity or for performance, most data storage managers would choose the latter. Tips and tricks to boost storage speed are common, but they're not all equally effective in every environment. A variety of products and technologies do have great potential for many shops, from optimizing server-side access to improving the storage-area network (SAN). We'll look at some effective, but often overlooked, methods to speed up storage system performance.
Networked storage is incredibly complex, requiring a diverse set of hardware and software elements to interoperate smoothly. Not surprisingly, one of the most common causes of slow storage performance is the misconfiguration or actual failure of one or more of these components. Therefore, the first place to look for better performance is in the existing storage I/O stack.
Check server and storage array logs for signs of physical faults; I/O retries, path movement and timeouts along a functional link are sure signs. Try to isolate the failing element, but start with cable-related components. Flaky transceivers and cables are common, and can seriously impact performance while still letting things run well enough to go unnoticed. These items often
1. Freshen firmware and drivers
Manufacturers are constantly fixing bugs, and new capabilities can sneak in with software updates. It's wise to stay on top of driver and firmware updates for all components in the storage network, with scheduled and proactive testing, tuning and upgrading. Microsoft Corp. and VMware Inc. have been actively adding new performance features to the storage stacks in Windows and vSphere, often without much fanfare. SMB 2.0 and 2.1, for example, dramatically accelerated Windows file sharing, especially over slower networks. Updates to NTFS and VMFS have also routinely improved performance and scalability. Stay tuned to storage blogs and publications to keep on top of these developments.
But you should note that not all updates are worth the time and effort, and some can be downright perilous. Make sure your configuration is supported by all vendors involved and has been thoroughly tested, and never use beta code in production. As a systems administrator, I tend to be conservative about what I roll out, waiting for reports from others before taking the plunge myself.
2. Question the queries
Most of our tips focus on locating and eliminating bottlenecks in the storage stack, but one should also consider reducing the I/O load before it's created. Working with database administrators (DBAs) to tune their queries for efficiency and performance can pay off big time, since a reduced I/O workload benefits everyone and every application.
3. Break down backup bottlenecks
Traditional backup applications are extremely taxing on storage resources, dumping massive volumes of data according to a daily and weekly schedule. Improving the performance of backups so they can fit within their assigned "window" has become a priority for data protection pros, but the techniques employed can help improve overall data storage performance as well.
One effective method to reduce the backup crunch is to spread it out using continuous data protection (CDP) technology. Built into many products intended for virtual servers, CDP continually copies data from a server rather than collecting it in a single, concentrated operation. This is especially valuable in virtual machine (VM) environments because the nightly backup "kick off" across multiple guests can crush storage responsiveness, from the bus to the host bus adapter (HBA) or network interface card (NIC) to the array. Microsoft and VMware also have technologies to offload backup-related snapshots to storage arrays that are better able to handle data movement.
4. Offload virtual machine I/O with VAAI
The release of VMware vSphere 4.1 included many new features, but one of the most important was the vStorage API for Array Integration (VAAI). This new interface allows VMware ESX to coordinate certain I/O tasks with supported Fibre Channel (FC) or iSCSI storage systems, integrating the hypervisor and array to work more closely and effectively together.
VAAI includes three "primitives," or integration points:
- Unused storage can be released for thin provisioning using the efficient "write_same" SCSI command, increasing capacity utilization and reducing I/O overhead.
- Snapshot and mirroring operations can be offloaded to the storage array, greatly reducing the network, hypervisor and operating system I/O workload.
- Access locking can take place at a level more granular than the whole LUN, reducing contention and wait time for virtual machines.
Although none of these screams "storage performance," the net effect can be a dramatic reduction in the I/O workload of the hypervisor as well as less traffic over the SAN. Analysts expect further improvements (including NFS support) in future versions of VMware vSphere, and one imagines that Microsoft is working on similar integration features for Hyper-V.
5. Balance virtual machine I/O with SIOC
While not a performance acceleration technology per se, VMware vSphere Storage I/O Control (SIOC) is a "quality of service" mechanism that makes I/O performance more predictable. SIOC monitors the response latency of VMFS datastores and acts to throttle back the I/O of lower-priority machines to maintain the performance of others. In practice, SIOC reduces the impact of "noisy neighbors" on production virtual machines, improving their responsiveness. This helps keep application developers and managers happy, bringing the appearance of better performance even though total throughput remains the same.
This was first published in July 2011