This post's content
AWS DevOps Guru launched a RDS support for Aurora (AWS DevOps Guru for RDS), allowing you to closely monitor the database performance and identify potential performance issues.
AWS RDS Performance Insights is available since 2018, and they are now integrating it with their newest DevOps guru platform.
AWS describe these two products in a very similar way, but we assume that one of them will take the lead in the coming years:
- Amazon RDS Performance Insights is a database performance tuning and monitoring feature that collects and visualizes Amazon RDS database performance metrics, helping you quickly assess the load on your database, and determine when and where to take action.
- Amazon DevOps Guru for RDS monitors those metrics, detects when your database is experiencing performance issues, analyzes the metrics, and tells you what's wrong and what you can do about it.
Why should you get familiar with this new product? Because companies can't afford surprises with their database performance. Companies trust their databases to be reliable, scalable, and always well-performing.
How to enable AWS DevOps Guru for RDS:
- As a prerequisite, you must use an Aurora RDS instance that is large enough to enable Performance Insights.
If you don't enable Performance Insights, or don't see this option on your RDS Aurora instance, you cannot use DevOps Guru for RDS.
By default, it is disabled and you need to enable it. When you enable it, you have a few more features:
- After you have enabled Performance Insights, you should enable DevOps Guru.
You will need to do that as it has it's own roles and cost.
When enabling it you should select whether you would like to monitor your current account, or additional accounts in your organization:
It will generate a new IAM Role in your account:
And you will have to choose whether you would like to analyze all your resources, or specific ones.
If you are not sure, select 'Choose later'
- When you enabled DevOps Guru, you should point him to analyze your Aurora RDS. You can do that by creating a new tag that starts with "Devops-Guru-"Please note that you pay per resource when using DevOps Guru:
- That's all. Now you should wait until AWS DevOps guru completes the analysis:
What’s new in AWS DevOps Guru for RDS Aurora:
- Database load - DevOps Guru allows you to quickly locate potential issues, by reviewing the database load (DB load) which is activity in your database. The key metric in Performance Insights is DBLoad, which is collected every second.
DB load is measured in units of Average Active Sessions, DevOps Guru can help you find anomalies in this metric.
- Wait events - describes where are the system bottlenecks that running SQLs are waiting on. for example waiting for CPU, waiting to lock a resource, or waiting for storage access (read/write)
- Slow SQL - This information links to your data on RDS Performance insights. This new view displays top SQL queries taking up most of the resources on your database. You can sort the list based on several options such as total load time, average execution time and executions count, to quickly prioritize which queries you need to optimize to improve your database performance.
If you’re looking for an automatic optimization tool to complement this solution, try EverSQL Query Optimizer, which will provide you additional insights and automatically rewrite the queries for you (yes, automatically).
- Optimizing SQL queries - DevOps Guru for RDS does a great job in allowing you to identify the root cause of the performance issues, but what if you need to resolve them quickly? Many developers are looking for an automated way to optimize their SQL queries, while also learning from the process to be able to write optimized queries in the future. EverSQL will allow you to both automatically optimize the queries, while also explaining exactly how to index and rewrite SQL queries for optimal performance.
- Advanced Performance Insights - DevOps Guru for RDS shows you the slowest queries which is very helpful. If you need additional advanced insights such as viewing query trends and enabling performance bottleneck prediction, you can integrate your database with EverSQL:
Optimize Slow Queries directly from RDS
EverSQL released an updated version to the EverSQL for Database Monitoring Applications plug-in, allowing developers to optimize their SQL queries directly from their favorite database monitoring tool.
If you're already an RDS Aurora customer, you're probably looking to have everything you need in one place, which is why we made sure the integration with AWS Performance Insights is easy and seamless.
To integrate the products, all you have to do is install EverSQL's Chrome extension, which will automatically add an Optimize by EverSQL button for each query in Performance insights top SQL queries table. These new buttons will allow you to optimize your queries automatically using EverSQL. The recommendations from EverSQL will include an automatically re-written and optimized SQL query, and a recommendation for optimal indexes you should create to improve the query's performance.
The integration is non-intrusive, standalone, and doesn’t require any access or permissions into your AWS account. If you prefer to optimize your SQL queries directly without the integration, you can do that as well by using EverSQL.
AWS DevOps Guru is an excellent resource for any DevOps team, allowing you to locate performance issues in RDS Aurora instances quickly. If you haven't tried it yet, you should start here and here discover how to improve your database performance.