I’m happy to announce the General Availability of Database Performance Analyzer (DPA) 12.1. This release focuses on deeper performance analysis and management of DPA through these cool new features:
- Anomaly Detection Powered by Machine Learning
- Management API
- Upgraded Java
- New Options Page
- Alerting Improvements
Anomaly Detection Powered by Machine Learning
Users tend to log help desk tickets when things are running slower than normal, i.e., an anomaly. Those tickets often find their way to the database team’s inbox to check the database. DPA can be used to find issues when you have time to drill into the wait time data, but often, time is of the essence. Everyone wants answers immediately.
Tired of comparing the trends chart with previous days to decide what “normal” looks like? DPA 12.1 now does the work for you, using a machine learning algorithm to identify which hours are abnormal, and displays the information contextually on the trends page. Bonus! If DPA detects an anomaly in the last 60 minutes, it changes the wait time status on the home page, letting you quickly identify the database instances your users are waiting on.
The DPA wait meter on the home page is now powered by anomaly detection, and new correlation charts appear as you drill into an instance. For example, you may be reviewing the home page and suddenly see the wait meter turn red.
This is an indication the instance is having higher than normal wait times and may be having issues. Clicking on the wait meter takes you to a view of the last 24 hours, and the status of the last bar will match the wait meter.
Drilling into the last bar, we can start to unravel the root cause of the anomaly. In this example, we see heavy wait times on RESOURCE_SEMAPHORE_QUERY_COMPILE, usually an indication that one or more queries require more memory than is currently available. In our case, many queries were waiting on this wait type, indicating a potential memory shortfall on the database server, which is what we found to be the case. Without the anomaly detection feature, we may not have known about this problem.
For more about this story and others, see this feature post in the DPA Customer Success Center: DPA 12.1 feature: Anomaly detection - SolarWinds Worldwide, LLC. Help and Support .
DPA has many customers automating tasks within their database environments, and many of you have scripts that can deploy/destroy a database environment in minutes. The new REST API in DPA 12.1 can be used to further that automation to management of DPA itself as well as monitored instances. It can safely connect to DPA and issue calls to:
- Add and remove instances
- List, allocate, and deallocate licenses
- Stop, start, and update passwords for monitors
- Add, retrieve, and delete annotations
- And more
DPA customers are already using the API to:
- Create annotations when a new build of an application is installed
- Add monitoring to a newly created database instance and allocate proper licenses
- Stop and restart monitors before and after O/S patches
If you are using the DPA API to do cool things, reply to this post and let us know about it.
For more information about DPA’s Rest API, including an interface to try them out before building code around them, use the new Options page and the Management API Documentation link. Here’s a list of other useful pages when you are ready to put the API into action:
- Learn About the DPA API
- Example PowerShell Scripts
- Example Python Scripts
- PowerShell Library from a DPA Customer
What Did You Find?
Our QA team uses DPA to help make sure our code performs well. The anomaly detection feature has helped them be more efficient when problems crop up. DPA pings them using anomaly detection alerts rather than a person being required to drill into every instance to find issues. They can then use the anomaly detection charts to quickly understand the issues. If you find interesting stories in your environment, let us know by leaving comments on this blog post.
We would love to hear feedback about the following:
- Does anomaly detection improve your workflow for finding wait time issues?
- Are there issues in your databases that DPA did not find, or flagged incorrectly?
- Are you using the REST API? How much time does it save you? What processes are you automating?
If you don't see the features you've been wanting in this release, check out the What We Are Working On for DPA post for what our dedicated team of database nerds are already looking at. If you don't see everything you've been wishing for there, add it to the Database Performance Analyzer Feature Requests.