While there are many database tuning tools on the market, some are
better than others. Ignite is built on the application of
performance intelligence and advanced wait-time analysis techniques.
I know their management personally (Don Bergal, Harvard MBA), and I have
the greatest respect for their All-American experts who created the
Confio tool. Great people make great tools, so let's take a quick
tour of the Confio Ignite product and see how it stacks up as a tool for
the Oracle DBA and developer.
The
Confio Ignite tool uses the concept of "performance intelligence" a
marketing term that describes the use of proven statistical techniques
and regression analysis to isolate important performance trends.
The "intelligence" component is the capturing of the intuition of a
human DBA expert, a common practice for intelligent software that
manages the well-structured components of the decision making processes.
The
overall goal of Confio Ignite is to identify the "most important"
performance problems divine their root causes. Like all Oracle tuning
tools, it is impossible to completely automate the intuition of a human
tuning expert, and Ignite requires in-depth DBA knowledge, a
sophisticated tool for a sophisticated DBA.
Historical
performance analysis
Confio
has a sophisticated visual interface and does trend analysis to analyze
SQL statements over time. The old adage "Those who
forget the past are condemned to repeat it" is relevant here, and
it's only a matter of time before the scientists at Oracle develop a
predictive model that will analyze historical patterns and "proactively"
change the database BEFORE the problem occurs.
Identifying workload characteristics is critical to
predictive modeling, and that almost all systems will have repeating
signatures for each workload. Oracle started to make a commitment to
workload-based analysis with the introduction of STATSPACK in Oracle 8i,
and we see even more exciting workload analysis features in Oracle 11g,
with the SQL performance Analyzer, a tool that allows you to capture a
representative Oracle workload from AWR and test it under different
configurations.
The fundamentals of proactive tuning are predicated
on Oracle workload analysis and it's very clear that holistic tuning is
the best way to achieve the most efficient allocation of system
resources (disk, RAM, CPU). However, we must be cautions in time-series
modeling since the farther we go into the future, the larger the
confidence interval. This spells doom for long-term forecasting of
important tuning metrics.
The "trumpet of doom" underscores the importance of understanding
statistically valid regression techniques
According to John Beresniewicz of Oracle
Corporation, the metric baselines (first introduced in 10gR2)
?characterize? specific system metrics over time periods, and these time
periods can be matched to system usage patterns.
These statistical 'signatures? (dubbed ?profiles? by
Oracle), are used to implement adaptive alert thresholds that can signal
the DBA when a statistically significant event occurs. Within Confio
Ignite we see a similar approach, analysis of historical time-series
data using statistically valid techniques and applied performance
intelligence. Below we see profiles of the performance of specific
SQL statements over time:
Confio Ignite SQL trend analysis histogram
It's been
long established that a proactive tuning approach is best for overall
instance tuning, and Confio Ignite appears to be using valid techniques,
seeking exceptions (anomalies from the average) and time-series trend
reports to identify database bottlenecks and suggest root cause fixes.
Confio
Ignite also supports RAC clusters, allowing a single console for RAC
tuning.
Confio Ignite RAC screen
While RAC
databases have many instances, each with their own instance to rune,
Ignite brings together the total waits, allowing the tuning expert to
analyze the trends over time.
A pragmatic
approach
The
Confio Ignite product marketing claims that Ignite has a practical
application, answering common performance questions:
DBA Performance Questions;
● How often does a particular SQL execute?
● When was it slow before?
● Is it always slow for the same reasons?
● What other SQLs are running when it's slow?
Developer Performance Questions;
● What recent code changes are performing poorly in the test
environment and should not be promoted to the production
environment?
● Are there SQLs running at times I did not know they were going to
run?
● Whose code is causing the problem?
Management Performance Questions;
● Which user communities are being affected by database bottlenecks?
● Have system changes impacted key customers?
● Has the DBA team demonstrably improved application service this
month?
● Am I in danger of violating a Service Level Agreement?
One
common mistake by tuning neophytes is tuning SQL statements which are
not executed frequently enough to have an impact on overall system
performance. Ignite overcomes this issue by identifying the most
resource intensive SQL.
Confio Ignite Top SQL causing user waits
By
isolating the "top" SQL statements over times (something that is not
immediately available in STATSPACK or AWR), the end-user can drill-down
into their most expensive SQL, gathering the low-hanging fruit for
maximum overall per4formance improvements.
Ignite
also monitors web server performance, allowing the end-user to display
the source components of waits for a web application.
Confio Ignite - Web application waits by day
In sum,
Ignite is a very useful tool for the senior DBA, supplementing their
knowledge with an easy to use front-end that relieved the tedium of data
collection and automates the well-structured components of the tuning
process.
These
pages also mention the Confio solution: