Find Application Performance Bottlenecks – Before Buying SSD
Jim BahnWhen your enterprise application user cries for more performance, the easiest route is often simply to buy more SAN hardware. Even if it doesn’t help, it shows action and commitment. Sometimes, the storage vendor will recommend SSDs. People look to SSDs for several reasons: faster response time, and higher IOPS with smaller footprint and power consumption. Your vendor might suggest SSDs as a way to resolve performance issues by creating a higher storage tier. However, many very serious performance issues we have seen were caused by configuration issues such as queue depth setting, fan-in fan-out ratios, bad cables, or dirty connections. Many of the bottlenecks we see are a function of the type of company. With smaller, fast growing companies, we often find bottlenecks in the Inter-Switch Links (ISLs). This is because the final size and scale of the SAN (just prior to a technology refresh) is not known when they start planning the ISL bandwidths. Larger companies often have bottlenecks at either the HBA or the storage ports, but have usually gone through at least one technology refresh, and have learned to properly allocate ISL bandwidth. Or, they over-allocate so they never run into that bottleneck again.
Before deploying expensive SSDs, our recommended best practice is to verify your current infrastructure with a product like VirtualWisdom, and make sure that current performance issues are actually caused by limitations in the storage and not by bad configuration, physical layer problems, host or application issues. As one of our other bloggers pointed out recently, during a recent Health Check service at a large telecomm company, we discovered some damaged cables that if replaced, would fix most of the performance problems in their data warehouse. The customer had spent over a million dollars in new hardware to shave latency by 10 milliseconds before he realized that his problem was as simple as bad cables. Talk about throwing money at the problem!
