All the AWS database service RDS instances types come up with varying combinations of CPU, memory, storage, and networking capacity. Finding the best database instance type might be a bit tricky if you don’t know them and for what use.
General Purpose |
||
Type |
t2 (tiny or turbo) |
m4 (medium) |
Description |
CPU Burstable Performance High frequency Intel Xeon processors |
2,3 Ghz Intel Xeon E5-2686 v4 (Brodwell) processors or 2,4 GHz Intel Xeon E5-2676 v3 (Haswell) processors EBS-optimized by default without additional cost Support for Enhanced Networking |
You might also look for the latest generation of General Purpose Instance:
General Purpose (Latest) |
||
Type |
t3 (over T2) |
m5 (over M4) |
Description |
CPU Burstable Performance High frequency Intel Xeon processors EBS Optimized Support for Enhanced Networking Powered by AWS Nitro System Unlimited mode to ensure performance during peak periods |
2,5 GHz Intel Xeon Platinum 8175 processors EBS-optimized by default without additional cost Support for Enhanced Networking (up to 25 gbps network bandwidth) |
Memory Optimized |
||
Type |
r4 (RAM) |
x1e (xtreme) |
Description |
High Frequency Intel Xeon E5-2686 v4 (Broadwell) processor Optimized for memory-intensive applications
Support for Enhanced Networking |
High Frequency Intel Xeon E7-8880 v3 (Haswelll) processor EBS Optimized Support for Enhanced Networking Optimized for high-performance databases, memory-intensive databases, and other memory-intensive applications |
You might also look for the latest generation of Memory Optimized Instance:
Memory Optimized |
||
Type |
r5 |
z1d |
Description |
High Frequency Intel Xeon Platinum 8000 series processor with sustained all core Turbo CPU clock speed of up to 3.1 GHz EBS optimized Support for Enhanced Networking |
High Frequency Intel Xeon processor EBS Optimized Support for Enhanced Networking Optimized for high-performance databases, memory-intensive databases, and other memory-intensive applications |
For each of your AWS RDS Instances, you might want to wrap some metrics around the following topic:
Let’s dig into it!
For your RDS instance:
Name |
Description |
Unit |
CloudWatch Namespace |
CPUUtilization |
Percentage of CPU utilization |
Percent |
RDS |
For your RDS burstable performance instances:
Name |
Description |
Units |
CloudWatch Namespace |
CPUCreditUsage ( T2 Instances) |
Number of CPU credits spent by the instance for CPU utilization |
Credits (vCPU-minutes) |
RDS |
CPUCreditBalance ( T2 Instances) |
Number of earned CPU credits that an instance has accrued since it was launched or started |
Credits (vCPU-minutes) |
RDS |
BurstBalance (gp2) |
The percent of General Purpose SSD (gp2) burst-bucket I/O credits available. |
Percent |
RDS |
Name |
Description |
Units |
CloudWatch Namespace |
NetworkReceiveThroughput |
Number of bytes received on all network interfaces by the instance |
Bytes/Second |
RDS |
NetworkTransmitThroughput |
Number of bytes sent out on all network interfaces by the instance. |
Bytes/Second |
RDS |
Name |
Description |
Units |
CloudWatch Namespace |
FreeStorageSpace |
The amount of available storage space |
Bytes |
RDS |
WriteIOPS |
The average number of disk write I/O operations per second (write iops). |
Count/Second |
RDS |
Name |
Description |
Units |
CloudWatch Namespace |
DatabaseConnections |
The number of database connections in use. |
Count |
RDS |
FreeableMemory |
The amount of available random access memory |
Bytes |
RDS |
NetworkReceiveThroughput |
The incoming (Receive) network traffic on the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication. |
Bytes/Second |
RDS |
NetworkTransmitThroughput |
The outgoing (Transmit) network traffic on the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication |
Bytes/Second |
RDS |
Name |
Description |
Units |
CloudWatch Namespace |
ReadIOPS |
The average number of disk read I/O operations per second. |
Count/Second |
RDS |
WriteIOPS |
The average number of disk write I/O operations per second. |
Count/Second |
RDS |
DiskQueueDepth |
The number of outstanding IOs (read/write requests) waiting to access the disk |
Count/Second |
RDS |
ReadLatency |
The average amount of time taken per disk I/O operation. |
Seconds |
RDS |
WriteLatency |
The average amount of bytes written to disk per second. |
Bytes/Second |
RDS |
Launched in 2016, RDS Enhanced Monitoring is a feature that enables customers to send amazon rds metrics to cloudwatch from their database server’s operating system. It allows you to get some RDS server performance insights.
By default, CloudWatch gathers metrics about CPU utilization from the hypervisor when Enhanced Monitoring gathers its metrics from an agent directly on the instance. Enhanced Monitoring is particularly useful when you want to see how different processes or threads on your DB instance use the CPU.
You can enable this option directly on your DB instance when:
For your Enhanced Monitoring you’ll need:
Enabling enhanced monitoring will show the following Process list on your RDS instance:
It is also available through CloudWatch, through the Logs section in the navigation pane, you need to select RDSOSMetrics from the list of log groups and then select your desired log stream. It’s based on the following groups:
Find more information about EC2 CloudWatch Metrics and EBS CloudWatch metrics in those two blog posts.
You may check what is best for your workflow now that you understand better RDS types, and which metrics are important to monitor.