Home » ARCHITECTURE » Got an Oracle-based app running slowly? Here’s your guide to effectively diagnosing it

Got an Oracle-based app running slowly? Here’s your guide to effectively diagnosing it

We’ve all experienced that frustrating wait while a web page loads or a business application takes an age to process something. Poor user experiences cost your organization money and risk damaging its reputation. And with so many companies now using customer experience as a differentiator, any that lag behind are at a serious disadvantage.

But how do you go about addressing this type of slow performance? Enterprise applications can be incredibly complex, relying on a variety of servers, storage, networking infrastructure, databases and potentially other applications and services.

Identifying what exactly is causing the slow application performance can be exceptionally challenging. The monitoring tools used by your administration teams will probably give you little of value, because they focus on the big picture, rather than the details. Equally, it’s not uncommon for each team to be able to ‘prove’ it isn’t their cog slowing down the machine.

The four key questions of performance enhancement

The secret to successfully diagnosing and tackling performance issues with applications running on Oracle databases is to answer four key questions. Let’s look at each in turn and why it’s significant.

How long is the slow process taking?

There are really two parts to this question: what exactly is taking too long, and how long is it taking?

Is a particular screen or web page slow to load? Is it a specific batch process? Or does the whole application feel slow? If it’s the whole app, think about which element of it would deliver the greatest benefit if you could resolve it. This is where you should start your investigation – you can come back to other elements later.

Having defined what you’re aiming to speed up, you need to know how long it’s taking now – in simple, straightforward minutes and seconds. This ensures total focus on the actual user experience.

At this stage, it’s also helpful to identify any specific requirements you have around how long the process should take. Do you have a customer SLA that means it needs to complete within three seconds 99.9% of the time? Or did it used to take 10 minutes and now takes an hour? Be careful not to over-commit at this stage, because you don’t yet know what’s possible or practical – that understanding will come out of the next steps.

Why is it taking so long?

Having defined exactly what you’re looking at, you need to ascertain why your application is taking the time it is. As we’ve touched on, standard monitoring tools look at what the system as a whole is doing, not the individual application. So while a systems-level tool may show the CPU is running at 100% capacity, this doesn’t necessarily mean the CPU is your program’s bottleneck. System-wide statistics can throw you off the scent.

You need a different approach that enables you to pinpoint exactly how your application is spending your time, from the moment you start the process in question to the moment it concludes. This is what Cintra’s Method R approach does.

What if…?

Having identified what your application is doing, the next step is to identify one or more remedial actions that are likely to help accelerate the process. This will require a good understanding of how Oracle works.

Next, ask yourself ‘what if’ you make each of the changes. Quantify which will give you the greatest net benefit. This enables you to target your remedial actions to have maximum impact and avoid costly trial-and-error.

How straightforward this question is to answer will depend on the nature of the change: it can be relatively easy to know how much time you’ll save if you can eliminate 99% of the calls to a given subroutine, for example. But if you’re looking at more complex alterations, such as a database upgrade, or wholesale replatforming, you’ll need to do more work to model and/or measure what the likely performance improvement will be (and also whether there could be any side-effects). This work is where your team or your performance partner will really prove their worth.

Once you’ve identified that what you’re proposing will deliver the improvements you need, it’s time to roll out the change. And because of the scientific, data-driven approach you’ve followed so far, you’ll be highly confident that it will deliver the enhanced performance you’ve forecast.

What else?

With your most pressing need taken care of, you may now want to go back and look at other areas where your business would benefit from improved performance. This may be another element of the process you’ve been addressing so far. It may also be another part of the same application, or another app running on an Oracle database.

In this way, you can quickly and methodically tackle performance issues that are currently hampering your organization’s ability to offer the customer experiences you aspire to.

Why you need specialist tools to answer these questions

These questions in themselves are common-sense. The difficultly many organizations have is that they don’t have the tools to answer them. The normal Oracle tools don’t collect the right data, and even if DBAs or application developers were to gather it in another way, understanding and analyzing it can be challenging.

This is where the Cintra Method R tools are truly revolutionary, because they make it easy to answer these four questions. They are your proven, fast-track route to better performance and user experiences.

So with customer experience already a key differentiator in many sectors, you need to act now to ensure your Oracle-based enterprise systems are delivering the best-possible performance. Cintra’s Method R approach, using laser-focused response-time data, has a track record of delivering results fast.

© This website and its content is copyright of © Cintra Software and Services 2011. All rights reserved.