
Whether they know it or not, every department, group or function within a business, from marketing to sales to the executive leadership, relies on a database in some way or another.
How? Applications are the heart of all critical business functions and an essential component to nearly every end user’s job, affecting productivity, end user satisfaction and ultimately revenue. In fact, in a recent SolarWinds survey of business end users, 93 percent of respondents said application performance and availability affects their ability to do their job, with 62 percent saying it is absolutely critical.
And at the heart of nearly every application is a database.
This means when an application performance or availability problem arises — something end users have little patience for (67 percent of end users also said they expect IT to resolve such issues within an hour or less) — there’s a good chance it’s associated with the underlying database’s performance. So, to not only keep end users happy, but productivity and revenue humming, application performance should be a paramount concern, and database performance must be a key element of that concern.
As validation of this point, another SolarWinds survey found that 71 percent of IT pros agree that a significant amount of application performance issues are related to databases and that application performance should start with the database. In addition, 71 percent also said application response time is a primary challenge they are trying to solve by improving database performance.
Why? There are three primary reasons. First, database engines are very complex — from complex queries and execution plans to replication and the inner workings of the database.
Second, there is a shortage of skilled performance-oriented database administrators (DBAs) in the market, resulting in many “accidental DBAs”.
Finally, compute and network resources can easily scale vertically or horizontally with today’s virtualization and cloud technologies, the same cannot be said for databases.
If you’re experiencing database-related application performance issues, or simply want to improve application performance by optimizing underlying databases, you should consider the following tips.
1. Get a full view of the application stack
The days of discrete monitoring tools are over. The use of tools that provide visibility across the entire application stack, or the application delivery chain comprised of the application and all the backend IT that supports it — software, middleware and extended infrastructure required for performance, especially the database — is a must in today’s complex, highly interconnected IT environment.
2. Be proactive and align the team behind end user experience
No one likes fighting fires. One way to minimize them is to be proactive and look at performance continuously, not only when it becomes a major problem. The entire team supporting applications should understand end user experience goals in terms of page-load and response times so it becomes a shared objective with very concrete business impact. Without a scoreboard everyone can see, it’s hard to know if you are winning.
3. Stop guessing
It’s not uncommon to default to adding hardware to hopefully improve performance — for example, switching to SSD drives. However, this is a gamble that has cost more than a few people their jobs. If the bottleneck is memory or a really bad SQL query, investing in SSD drives is unlikely to improve application performance.
4. Go beyond traditional monitoring
Most traditional monitoring tools focus on health and status, providing many charts and a lot of data, most of which is hard to interpret and time consuming to tease out performance insights from. Instead, tools with wait-time analysis capability 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 different view into performance, one that is more actionable than traditional infrastructure dashboards.
5. Establish baselines
It’s important to establish historic baselines of application and database performance that look at how applications performed at the same time on the same day last week, and the week before that, to detect any anomalies before they become larger problems. By so doing, if a variation is identified, it’s much easier to track the code, resource or configuration change that could be the root cause.
6. Get everyone on the same page
Today’s complex applications are supported by an entire stack of technologies that is only as good as its weakest link. And yet, most IT operations teams are organized in silos, each person or group supporting a part of the stack. To avoid finger pointing, get every team in the organization a unified view of application performance, ideally based on wait-time analysis, so everyone can focus on solving application problems quickly.
As the backbone of nearly all business-critical applications, the impact of database performance on application performance cannot be underestimated. Following these tips can help eliminate many potential bottlenecks.
Gerardo Dada is VP Product Marketing and Strategy at SolarWinds.