I/O bottlenecks are painful, and slated to get worse. And they are hard to investigate, too: "Only limited information about I/O problems can be gained from the SAP system. To perform more detailed analysis, you need tools provided by the hardware manufacturer." (Source: SAP Performance Optimization Guide, SAP Press, 2009).
What is the reason behind that? Disk speed has been the exception to Moore's Law, growing only 15 fold over 50 years. Today, traditional disk is easily 1,000 times slower than RAM access. Making matters worse, given the improvements in CPU speed and memory, storage I/O bottlenecks are slated to move to the forefront: Doubling CPU speed only allows systems to "wait twice as fast" for storage to respond.
So, what are the options? Luckily, in the past years lots of innovation happened, on the storage side. For one thing, SSD (solid state disk) technology has greatly matured. We all love those USB drives for PC's. In a similar way, SSD has been available for enterprise storage systems, as EFD's (enterprise flash disks). They don't contain mechanical parts, and provide a quantum leap in access performance (factor 10x - 100x). Even more, unlike specialty technologies, SSD does not require major re-architecture of enterprise architectures, and in fact can silently coexist with more traditional storage systems, such as based on Fibrechannel or SATA.
? Even more, storage tiering automation now allows to dynamically assess and move data, based on its actual use, and even business value. For example, SSD is allocated to financial processes during quarter end, then re-allocated to where the business need is greatest, say to accelerate payroll runs or to process a product recall.
What about cost? Sure, SSD comes at a price. In fact, a whopping 60% of recently surveyed IT pros identified price as the top reason for not adopting SSD. And it's true, if you just compare "cost / GB", SSD is more expensive by factors, as compared to traditional storage media. If you look at another (more relevant) metrics however, like "cost / IOPS" or "cost / MBps", SSD in fact can be more affordable than traditonal hard disks, already today.
Any best practices? There are ample performance benchmarks and cost studies published, specifically for SAP (ECC / BW) environments. Best practices also start to emerge in the community. And it's not only about technology: Increasingly the need is recognized to "break down silos" when it comes to performance optimization, and have the entire team (including storage, database, basis, functional) working towards that common goal (of enabling "right-performing" SAP systems). Often, there is a "performance czar' appointed, orchestrating that effort, while balancing user demands with technical possibilities, and cost.
Tell your opinions / experiences! Would love to hear from you:
- In your SAP environment, where do you typically encounter I/O bottlenecks, and
how do you deal with them?
- Who is responsible for investigating and resolving those bottlenecks? E.g. is that basis, database or storage teams?
- How you deployed SSD? If yes, what is the result? If no, why not?
- What is your experience with "storge tiering automation", if any?
Please also join me at the IT2011 conference, on 3/17/11 at 8:30am, to discuss!