Organizations of all sizes have come to rely more and more on databases. With the Big Data trend, it seems like data has become the most important asset of many businesses. And where is that data stored? In databases, of course. This makes the databases—the actual hardware and software that handles the storage, organization, and retrieval of that data—a critical component of many companies. Databases are so critical that making sure their performance is optimal is consequently just as critical. Like many other network and system administration tasks, analyzing database could be done manually but you’ll often be best served by using proper tools. Today, we’re reviewing the best Database Performance Analysis tools.
The database market is large but there are only a handful of major players sharing the bulk of it. We’ll start off our exploration by having a look at databases and the main players. Then, we’ll discuss the performance analysis of databases, what it is and why it’s so important. Finally, we’ll dig into the core of the subject with a review of some of the best tools available for database performance analysis and monitoring.
- 1 About Databases
- 2 The Need For Database Performance Analysis
- 3 Our Top Database Performance Analysis Tools
In its simplest expression, a database is a data structure that stores organized information. Data in a database is stored in tables where each row represent one item of data and each column is a piece of information about this item. For example, an address book could be stored in a database where each entry would be a line and where there would be columns for the last name, first name, address, street, city, state, country, etc.
Database systems—also referred to as relational database managers—offer several ways to manipulate that data. Several tables could be joined, data can be indexed for faster retrieval or manipulated in several different ways. Explaining databases would take a whole book. In fact, hundreds of books have been written on the subject. For the purpose of our discussion, the important thing to realize is that databases are quite complex pieces of software. Due in part to that complexity, many factors can affect their performance.
The database market is huge with many vendors offering competing products. However, a few suppliers share the bulk of the market. At the top is Microsoft with its SQL server. Other major players in the commercial database arena are Oracle and IBM with its DB2 database. There are also several free offerings that have enjoyed a growing popularity over the years. One of the most common is called MySQL and it is the database behind many websites. Another free product called PostgreSQL is also very popular.
The Need For Database Performance Analysis
Analyzing database servers’ performance and monitoring their uptime and other operational parameters is one of the most important tasks of network, system, and/or database administrators. It will help keep your database server software running smoothly and efficiently. Done properly—using the appropriate tools—it can prove to be beneficial to not only your server hardware and software but, more importantly, to your end users’ experience.
Many different issues can plague database servers and adversely affect their performance. Among them, here are a few of the most common:
- Database Size – As the size of a database grows, the server will need more memory and CPU to read and process data from the tables. Increasing the size of an existing table can, for instance, cause a noticeable impact of server performance.
- Query Structure – Queries are the commands given to the database to fetch some specific data. The more complex a query is, the bigger its impact on database performance. Identifying the most taxing queries on the database server is crucial to managing servers performance. Once the queries that are taking up the most resources are identified, efforts can be put into reducing their load on server cycles and memory usage. Also, finding out which application is causing these expensive queries on your database can help you diagnose the underlying issues behind these queries and fix them quickly and efficiently. Monitoring queries will help you identify which host application is causing issues and potentially help you diagnose other applications issues as well.
- Index Fragmentation – Data stored in databases is indexed to make searching the database and retrieving data faster and more efficient. Although Proper indexing will help search and retrieve data faster, when data is modified, deleted or removed, the indexed content gets scattered and the database becomes fragmented which could result in performance degradation.
- Hardware Performance – Hardware performance of the server running the database can also have a bit impact of database performance. Memory, Cache and paging should be monitored in real-time to ensure your database server software is performing optimally and not experiencing bottlenecks or slowdowns.
Our Top Database Performance Analysis Tools
Just as there are many suppliers of database software, the vendors of database performance analysis tools abound. Some refer to it as analysis, others refer to it as monitoring. They all share one common goal, ensuring that your databases are running smoothly and performing at their peak. This list is far from exhaustive and there could likely be a few dozen more products that are just as good as those reviewed here. However, since no one would read through 25 reviews of similar products, we’ve limited ourselves to the seven best tools we could find.
1. SolarWinds Database Performance Analyzer (FREE Trial)
Our first entry is an excellent tool from SolarWinds, the same company that brought us the Network Performance Monitor, regarded by many as one of the best network bandwidth monitoring tools. SolarWinds has become a household name among network administrators due mainly to its impressive selection of tools which include some of the best free tools out there.
The SolarWinds Database Performance Analyzer (or DPA) monitors and analyzes your SQL database instances to resolve issues. It uses a Response Time Analysis method and focuses on the time between a query requests and the corresponding response from the database and analyzes wait times and events to pinpoint the bottlenecks of databases.
- FREE TRIAL: SolarWinds Database Performance Analyzer
- Official Download Link: https://www.solarwinds.com/database-performance-analyzer
The tool boasts an easy to use interface that will assist you in finding issues quickly and easily. The main screen will let you view database instances, wait times, query advice, CPU (with warning and critical alerts), memory, disk and sessions.
The Trend dashboard of a specific database instance shows you the total wait times (or, alternatively, your choice of either average or typical day wait times) for the users over the course of a month in a graphical format. Each colour of the graph represents an individual SQL statement, giving you a representation of which statement takes the longest to run.
The SolarWinds Database Performance Analyzer is so feature-packed that a whole article could be dedicated to it. Here’s a summary of its most important features.
Database tuning advice
The tool gives you advice for tuning individual database instances and ensure they’re running at their peak performance. It does that by analyzing all parameters of an instance and recommending a course of action to optimize certain queries or whole database instances for peak performance.
Active monitoring of all active sessions
The highly detailed native polling engine records exactly everything that’s happening within your database instances with no additional load to the database themselves.
Tracking, monitoring and analysis of database components
To help pinpoint the root cause of performance issues, the tool automatically correlates queries, users, files, plans, objects, wait times, storage and date/time/hour/minute to accurately discovery and diagnose problems on the fly.
Single point of Monitoring for all your Databases
The SolarWinds Database Performance Analyzer does not only work with Microsoft SQL server. It actually supports most major products including Oracle, SQL Server, MySQL, DB2, and ASE. It also supports either physical on-premises servers, Virtual Machines (under Vmware or Hyper-V) and cloud-based databases.
Agentless and Highly Scalable
This product will let you monitor as many database instances as you want. It can easily scale from one to a thousand instances. It also does not require any monitoring or analysis agent to be installed on your servers. There’s no risk, then, that the tool will impact your databases’ performance.
Prices for the SolarWinds Database Performance Analyzer start at $1 995 and vary according to the number and type of database instances to monitor. If you’d rather try the product before purchasing it, a fully functional 14-day trial version is available.
2. Idera Diagnostic Manager for SQL Server
The Idera Diagnostic Manager for SQL Server offers performance monitoring of SQL databases in both physical and virtual environments. It empowers administrators with the ability to see performance statistics, metrics and alerts from physical servers as well as from virtual machines and their underlying host hardware. The monitored metrics include CPU, memory, hard disk usage and space, network usage, and more. The product also provides proactive monitoring of SQL queries along with transnational SQL monitoring and can provide administrators with recommendations for the health of their SQL databases.
The Idera Diagnostic Manager for SQL Server provides both a web-based interface and mobile apps which are available for Android and iOS phones and tablets as well as Blackberry. The availability of real-time and historical data about your SQL server instances allows administrators to make changes on the fly within the mobile app. While the mobile apps are not as feature-rich as the web console, the administrative tasks you can run from them include viewing and killing processes, starting and stopping jobs as needed and running queries to resolve issues.
Other features of the Idera Diagnostic Manager for SQL Server include easy integration with SCOM using the Management Pack add-on, a predictive alerting system which is built to avoid any false alerts and an excellent query performance monitoring function that can pinpoint queries that are not efficient and performing poorly.
Prices for the Idera Diagnostic Manager for SQL Server start at $1 996 per database instance and a fully functional 14-day trial is available.
3. Lepide SQL Server Auditor
The Lepide SQL Server Auditor offers a complete overview of all configuration and permission changes being made to your SQL Server environment through an easy-to-use, graphical user interface. Its dashboard is loaded with information and it will let you see at a glance all configuration and permission modifications made to the servers, the total number of changes per administrator and the total number of changes per source. The tool can even display those changes over time to make it easier to spot anomalies. All these changes are fed continuously through Lepide’s LiveFeed, to ensure that SQL servers are proactively audited.
The Lepide SQL Server Auditor boasts a trend analyzer feature to helps administrators pinpoint what changes are being made to the database and by who. This can assist in seeing and tracking potential security risks that could arise from wrong permissions or administrator errors. On top of the trend analyzer, there’s also a feature called SQL Server HealthCheck which continuously tracks the vital components of a SQL server and provides real-time tracking of operational parameters such as network connections, CPU usage and load, errors and more.
Additional features of the Lepide SQL Server Auditor include mobile apps for Android and iOS devices which provide a live representation of what’s happening on an instance. The tool also has in-depth reporting features and over fifty predefined reports for compliance and system management. Finally, the tool’s easy to use Dashboard lets you quickly spot trends, changes to databases and provides real-time alerting of occurring events.
Detailed pricing for the Lepide SQL Server Auditor can be obtained by contacting Lepide’s sales and a free 15-day fully functional trial is available.
4. SQL Power Tools
SQL Power Tools from SQL Power is an agentless database performance analysis solution which claims to have the lowest impact on your servers. SQL Power states that their monitoring won’t load your databases by more than 1%. And by virtue of being agentless, you don’t need to install a monitoring component on your servers. In fact, the product inserts no table, no stored procedure or job on the server. All the analysis is done completely remotely. It also won’t issue millions of queries which could wreak havoc with your servers.
Enough of what SQL Power Tools don’t, let’s have a look at what it does. The tool features dashboard and heat map views of your server farm performance viewable from a browser or mobile device. It computes a daily baseline analysis of SQL wait times, performance counters and agent job run time. It can also perform ad hoc comparison of SQL and I/O wait times, performance counters and job run times between servers and time periods. SQL Power Tools will let you drill down into SQL wait times for poorly performing SQL queries. This can help you pinpoint any resource contention causing SQL not to complete on a timely basis.
SQL Power Tools is not cheap. Prices per database instance vary between $2 000 and $750 with prices per instance getting lower as you purchase more licenses. And if you prefer to try the product, a 3-week evaluation version can be obtained by contacting SQL Power.
5. SQL Monitor
The SQL Monitor from Red Gate software is part of a set of tools to manage, monitor, change, manipulate and optimize SQL databases. The tool can help you and your team find issues before they become problems. This is a feature-pack product. Among its best features, it provides administrators with an overview of their SQL server estate. The tool also has alerting to let you know about issues before they have any noticeable impact. It will also let you run and share tailored reports about your servers’ health. The tools performance analysis functions are also very interesting and will quickly let you see what has the biggest impact on your system. When diagnosing issues, the tool will help you uncover obstacles and find root causes.
SQL Monitor boasts an excellent dashboard which lets you view all your database instances in one convenient place. The client also lets you directly access all your SQL databases within seconds without having to VPN into your network or otherwise remotely connect. The easy to use dashboard can help you drill down further into statistics about your databases such as wait times, CPU usage and disk I/O with just a couple of clicks.
SQL Monitor’s price is $1495 per database instance. You’ll get a 15% discount if you purchase between five and nine licenses and a 20% discount if you purchase ten or more. All prices include the first year of support from Red Gate. Also, a 14-day trial is available as is an online demo.
6. SQL Sentry
SQL Sentry from SentryOne is a leading solution for database performance monitoring. This tool collects and presents actionable performance metrics and alerts. It will let you see essential events and cross-reference them using an Outlook-style calendar. Use it to quickly resolve issues by running detailed analysis from the same tool that you use for SQL monitoring and alerting. The product’s performance dashboard—which features a patented view of storage performance—gives administrators a detailed analysis of high-impact queries as well as query plans which are presented through the tool’s Plan Explorer functionality.
The SQL Sentry dashboard shows all your the critical SQL components and services in a neatly presented way to help you manage and ensure high-availability of your SQL instances. The tool also gives users the option to view historical data of their server to compare to current real-time data, further assisting in generating a baseline and optimizing database instances and servers.
SQL Sentry will cost you $2 495 per instance plus an annual maintenance fee of $499. Alternatively, you may opt for a subscription-based service for $125/month. A free 15-day trial is also available.
7. dbForge Monitor
dbForge Monitor from Devart is a free add-on for Microsoft SQL Server Management Studio that allows you to track and analyze SQL Server performance. The tool includes a variety of tools for SQL Server diagnostics, including several SQL performance metrics. This lets you see the comprehensive and clear picture of all processes taking place on the server, detect the most expensive queries, waiting tasks, and performance bottlenecks. This tool can save you hours of time spent on SQL Server performance analysis.
The Overview tab of the tool’s dashboard allows you to see what actually happens on your SQL Server from different angles. It boasts a broad collection of metrics for versatile monitoring of SQL Server performance including CPU utilization, memory utilization, disc activity, read and write latencies, IO latency, and more.
The tools Wait States tab lets you identify resources that slow down the server. It displays the list of waiting tasks encountered by execution threads because resources required for the request fulfillment were busy or not available. dbForge Monitor also includes a SQL query performance analyzer that will help you detect and optimize the most expensive queries that overload the system. In addition to the list of poorly performing queries, the tool shows the query text and query profiling data that you can use to rewrite a query in a more productive fashion.