PROBLEM: MAINTAINING HIGH PERFORMANCE STANDARDS
IN AN ENVIRONMENT WITH A RAPID ACQUISITION CYCLE
For HealthcareSource, a technology and services company that provides talent
management solutions to 3,500-plus hospitals and other healthcare facilities, a
constantly changing data environment is the norm—as are high expectations for
database performance.
“We do a lot of data center migrations during acquisition cycles—with a minimal
effect on thousands of clients,” says Vlad Ivanovich, principal SQL database
administrator for HealthcareSource. To successfully manage this environment,
Ivanovich knew he needed a solution that could help his team establish performance
baselines, manage migrations, and quickly optimize performance with no disruption
in service to customers.
“The problem that usually plagues companies when they’re working to optimize
performance is a lack of baselines,” says Ivanovich. “And finger-pointing between
the developers and the DBAs.”
When performance testing lagged in a new data center, Ivanovich said often the
DBAs would point to problems in the application code. The developers would target
the new database server as a root cause. It was time-consuming to determine
where the team should concentrate their troubleshooting efforts—for example,
which query plans could yield the greatest impact on performance.
Analyzing and documenting performance metrics is tedious and time-consuming,
especially without established performance baselines to guide DBAs to the areas
where their efforts will have the most impact. Establishing baselines is where SQL
Sentry came into the picture for HealthcareSource—cutting analysis time and
fostering a collaborative environment among DBAs and developers.
SOLUTION: SQL SENTRY BASELINES CUT MAINTENANCE AND OPTIMIZATION TIME
To meet HealthcareSource’s high level of performance standards, Ivanovich
deployed SQL Sentry, which he has used in three previous roles as a DBA. The first
order of business was examining long-running queries that were having an impact
on the database system
“We needed to identify our worst-performing queries,” said Ivanovich. “And it’s not
always the longest-running query that is the worst troublemaker. It can be a process
that only runs for a few seconds but runs thousands of times an hour. That’s what
we call ‘Death by a thousand cuts.’”
By using SQL Sentry, the team was able to quickly discover the root cause of
under-performing queries and then establish performance baselines. SQL Sentry
includes two different types of baselines—predefined and custom. Baselines are
overlaid on various charts in the SQL Sentry Performance Analysis Dashboard,
providing a range of metrics to help DBAs quickly identify and manage changes in
the monitored environment.
For Ivanovich, one of the unexpected but welcome outcomes of using SQL Sentry
is the objective data it provides about the cause of performance variances, allowing
teams to work collaboratively. The metrics in the dashboard present facts—rather
than opinions—about performance, so the team can immediately resolve issues and
improve performance rather than becoming mired in discussions about the cause.
“SQL Sentry helps us spread knowledge about performance tuning,” says Ivanovich.
“Now the database developers and the DBAs just look at SQL Sentry because they
know that’s how they’ll understand what’s going on with the SQL Server.”