Hands-on review: SolarWinds Database Performance Analyzer (DPA)
Database performance has always been an area of focus for IT departments. It plays a crucial role in optimising the cost of an organisation's cloud infrastructure spending, a factor keenly observed by the accounting department. The sales and marketing departments should also be concerned with database performance as it determines the speed at which data will be delivered to different locations and supports the applications driving better user experience, adoption, and usage.
tSlow customer experiences can result in lost customers, which has never been truer for web applications, as emphasised by Google's adoption of Core Web Vitals—a report measuring the speed and user experience of your website feeding into your search engine rankings.
The database performance monitoring scene has long been dominated by the database manufacturers themselves, with tools typically only working on their solutions.
This is where SolarWinds comes in. The Austin, Texas-based software provider, long synonymous with network monitoring, has an intuitive, comprehensive database monitoring solution in its portfolio called SolarWinds® Database Performance Analyzer (DPA).
Its features include support for several database platforms such as Oracle, SQL Server, Azure SQL database, Aurora, PostgreSQL, Db2, SAP ASE, MySQL, and MariaDB. And within each of these databases, numerous flavours and versions are supported.
SolarWinds DPA is available on Linux and Windows Server and can be used in Azure, Google, and AWS cloud environments.
We got our hands on DPA and tested it against our own PostgreSQL databases in a Linux environment.
No software is installed on the monitored server; instead, DPA remotely connects to each database to gather data and then stores it in a separate repository. This connection is handled through Java Database Connectivity (JDBC).
DPA can remotely connect to each VMware vCenter Server, ESX, or ESXi host in a virtual environment. Again, no software is installed on the database server VMs.
DPA runs a ‘quick poll' query by default once per second to collect information about wait events. This information is encrypted to protect the organisation's data. When comparing queries, DPA calculates the total wait time across all executions so DBAs can first focus on improving the most impactful queries.
DPA offers wait-based analytics, which hones in on why a query is slow, such as a VM delaying resource consumption for CPU or storage. DPA transforms tuning from reactive to proactive by identifying the best optimization opportunities based on actual workload.
IT teams can access DPA through a secure web interface. They can perform the installation and set up the repository to store the organisation's collected data. The repository database can be set up automatically, or IT teams can establish it themselves.
Set up via the web interface is simple, and once complete, teams can run analytics and drill down into real-time and historical data.
Machine learning (ML) algorithms analyse the DPA data to look for anomalies and make recommendations. This prediction gets better over time with more data collected.
After analysing our database setup, DPA advised us to focus primarily on table tuning (indexing changes) and inefficient queries we need to resolve. DPA was able to work out our worst performing applications and tables with ease enabling us to focus on them and take corrective action rapidly. Each database system supported includes specific monitoring areas; for example, PostgreSQL support has monitoring of cache eviction, checkpoints, replication, vacuum, row operations, license compliance, and more.
CPU, I/O, and VMware vSphere performance monitoring are also included in the DPA analytics. Some competing tools only analyse the SQL statements and transactions.
Targeted, customisable email alerts can be set up, and internal developers can also use the built-in APIs to access DPA data for incorporating into other systems or interfaces.
For a broader monitoring perspective, support is included to roll up the organisation's DPA data into the SolarWinds Orion Platform or the latest SolarWinds Hybrid Cloud Observability Platform.
While all of this analysis is useful, the key feature offered by DPA is the ability for IT teams to be ‘evidence driven' in estimating how increases in demand and scaling will affect the performance of applications in the future.
We found DPA installation had no discernable resource overhead on our database server, which coincides with SolarWinds stating, “DPA causes less than 1% overhead on the instance”.
In summary, DPA monitors, diagnoses, and resolves database performance problems. It has a lightweight, agentless architecture and uses ML to make actionable recommendations. We found DPA simple, powerful, and relatively easy to install and use.
And SolarWinds DPA was recently the Bronze Stevie Award winner in the 2022 Asia-Pacific Stevie Awards. More information on DPA can be found online here, and the tool is available as a perpetual license or on a subscription basis with a free trial available here. The trial is obligation free and can be easily uninstalled if you don't love the product as much as we do.