I woke up early to get to the airport to ensure a timely check-in. When I got to the desk, the airline representative asked for my name and destination, keyed it in and we waited for the system to respond. The next words out of her mouth were, “Sorry, the system is slow today, you know how it is.”
When my flight landed, I made my way to the rental car counter, where again, the pattern repeated itself—the attendant gathered my information, keyed it in, and we waited, and waited.
I finally got into the office and wanted to look at sales data for the previous week. I opened the company’s business intelligence application and asked for the report. After 2 seconds of waiting, I wondered if the application was working. After 4 seconds, I closed the window and sent a note to finance asking them to just send me the data.
This may seem extreme, but as consumers we’ve all developed certain technology performance expectations—for example, a page load time of 3 seconds results in 40% of visitors leaving a site—and through transference these expectations get applied all over the place, including workplace applications.
What’s my point? An application that takes more than a few seconds to respond might as well be down.
When faced with application performance issues in such a reality, many IT organizations quickly turn to application performance management tools which focus on improving the application itself by looking at code; however, more often than not, application performance issues are not a result of code being executed slowly. They are usually related to the database.
An application that takes more than a few seconds to respond might as well be down.
Think about it, when I was at the airline ticket counter, the computer was simply trying to retrieve my reservation record—a database operation.
In fact, most applications can be thought of as data-centric: from ERP to CRM and beyond. Most of the work applications do is retrieving, adding or updating information in a database. And because of the complexity of database systems, most performance issues are related to the database. In fact, I recently looked at the Salesforce.com status page, and every single one of the recent incidents were database related.
With that established, you might be asking what can you as a database professional do to help solve application performance issues in your organization? Here are some tips:
Hardware Is Not Always the Path to Performance
It’s not uncommon to default to adding new database hardware to hopefully improve application performance—for example, switching to SSD drives. However, this is a gamble that has cost people their jobs. First, take a closer look at application query performance. The easiest way to do this is by recording query performance over time, all the while gathering historical data analysis and identifying trends and anomalies that are key to improvement.
Start With End User Response Time and Wait-Time Analysis
Most traditional database monitoring focuses on health and status, resulting in many charts and data to review, but no clear path to resolution. Logs and data can be hard to interpret and it’s time-consuming to tease out performance insights. Instead, take a wait-time analysis approach, which can help identify how an application request is executed step-by-step, and what the processes and resources are that the application is waiting on. It provides a more actionable view than traditional infrastructure dashboards.
Get Rid of the Silos and Finger-Pointing
Finally, the days of discrete IT silos have to come to an end. Visibility across the entire application stack, or the application delivery chain comprised of the application and all the back-end IT that supports it—software, middleware, and extended infrastructure required for performance, especially the database—is a must to ensure application performance in today’s complex, highly interconnected IT environment.
We as database professionals—and IT as a whole—need to better understand and take to heart the role database operations plays in application performance. Applying these tips will help. And maybe we’ll all get to sleep in a bit longer the next time we have to catch a flight.