Performance Insights counter metrics - Amazon Relational Database Service

Performance Insights counter metrics

Counter metrics are operating system and database performance metrics in the Performance Insights dashboard. To help identify and analyze performance problems, you can correlate counter metrics with DB load. You can add a statistic function to the metric to get the metric values. For example, the supported functions for os.memory.active metric are .avg, .min, .max, .sum, and .sample_count.

The counter metrics are collected one time each minute. The OS metrics collection depends on whether Enhanced Monitoring is turned on or off. If Enhanced Monitoring is turned off, the OS metrics are collected one time each minute. If Enhanced Monitoring is turned on, the OS metrics are collected for the selected time period. For more information about turning Enhanced Monitoring on or off, see Turning Enhanced Monitoring on and off.

Performance Insights operating system counters

The following operating system counters, which are prefixed with os, are available with Performance Insights for all RDS engines except RDS for SQL Server .

You can use ListAvailableResourceMetrics API for the list of available counter metrics for your DB instance. For more information, see ListAvailableResourceMetrics in the Amazon RDS Performance Insights API Reference guide.

Counter Type Metric Description
Active Memory os.memory.active The amount of assigned memory, in kilobytes.
Buffers Memory os.memory.buffers The amount of memory used for buffering I/O requests prior to writing to the storage device, in kilobytes.
Cached Memory os.memory.cached The amount of memory used for caching file system–based I/O, in kilobytes.
DB Cache Memory os.memory.db.cache

The amount of memory used for page cache by database process including tmpfs (shmem), in bytes.

DB Resident Set Size Memory os.memory.db.residentSetSize

The amount of memory used for anonymous and swap cache by database process not including tmpfs (shmem), in bytes.

DB Swap Memory os.memory.db.swap

The amount of memory used for swap by database process, in bytes.

Dirty Memory os.memory.dirty The amount of memory pages in RAM that have been modified but not written to their related data block in storage, in kilobytes.
Free Memory os.memory.free The amount of unassigned memory, in kilobytes.
Huge Pages Free Memory os.memory.hugePagesFree The number of free huge pages. Huge pages are a feature of the Linux kernel.
Huge Pages Rsvd Memory os.memory.hugePagesRsvd The number of committed huge pages.
Huge Pages Size Memory os.memory.hugePagesSize The size for each huge pages unit, in kilobytes.
Huge Pages Surp Memory os.memory.hugePagesSurp The number of available surplus huge pages over the total.
Huge Pages Total Memory os.memory.hugePagesTotal The total number of huge pages.
Inactive Memory os.memory.inactive The amount of least-frequently used memory pages, in kilobytes.
Mapped Memory os.memory.mapped The total amount of file-system contents that is memory mapped inside a process address space, in kilobytes.s
Out of Memory Kill Count Memory os.memory.outOfMemoryKillCount

The number of OOM kills that happened over the last collection interval.

Page Tables Memory os.memory.pageTables The amount of memory used by page tables, in kilobytes.
Slab Memory os.memory.slab The amount of reusable kernel data structures, in kilobytes.
Total Memory os.memory.total The total amount of memory, in kilobytes.
Writeback Memory os.memory.writeback The amount of dirty pages in RAM that are still being written to the backing storage, in kilobytes.
Guest Cpu Utilization os.cpuUtilization.guest The percentage of CPU in use by guest programs.
Idle Cpu Utilization os.cpuUtilization.idle The percentage of CPU that is idle.
Irq Cpu Utilization os.cpuUtilization.irq The percentage of CPU in use by software interrupts.
Nice Cpu Utilization os.cpuUtilization.nice The percentage of CPU in use by programs running at lowest priority.
Steal Cpu Utilization os.cpuUtilization.steal The percentage of CPU in use by other virtual machines.
System Cpu Utilization os.cpuUtilization.system The percentage of CPU in use by the kernel.
Total Cpu Utilization os.cpuUtilization.total The total percentage of the CPU in use. This value includes the nice value.
User Cpu Utilization os.cpuUtilization.user The percentage of CPU in use by user programs.
Wait Cpu Utilization os.cpuUtilization.wait The percentage of CPU unused while waiting for I/O access.

Read IOs PS

Disk IO

os.diskIO.<devicename>.readIOsPS

The number of read operations per second.

Write IOs PS

Disk IO

os.diskIO.<devicename>.writeIOsPS

The number of write operations per second.

Avg Queue Len

Disk IO

os.diskIO.<devicename>.avgQueueLen

The number of requests waiting in the I/O device's queue.

Avg Req Sz

Disk IO

os.diskIO.<devicename>.avgReqSz

The number of requests waiting in the I/O device's queue.

Await

Disk IO

os.diskIO.<devicename>.await

The number of milliseconds required to respond to requests, including queue time and service time.

Read IOs PS

Disk IO

os.diskIO.<devicename>.readIOsPS

The number of read operations per second.

Read KB

Disk IO

os.diskIO.<devicename>.readKb

The total number of kilobytes read.

Read KB PS

Disk IO

os.diskIO.<devicename>.readKbPS

The number of kilobytes read per second.

Rrqm PS

Disk IO

os.diskIO.<devicename>.rrqmPS

The number of merged read requests queued per second.

TPS

Disk IO

os.diskIO.<devicename>.tps

The number of I/O transactions per second.

Util

Disk IO

os.diskIO.<devicename>.util

The percentage of CPU time during which requests were issued.

Write KB

Disk IO

os.diskIO.<devicename>.writeKb

The total number of kilobytes written.

Write KB PS

Disk IO

os.diskIO.<devicename>.writeKbPS

The number of kilobytes written per second.

Wrqm PS

Disk IO

os.diskIO.<devicename>.wrqmPS

The number of merged write requests queued per second.
Blocked Tasks os.tasks.blocked The number of tasks that are blocked.
Running Tasks os.tasks.running The number of tasks that are running.
Sleeping Tasks os.tasks.sleeping The number of tasks that are sleeping.
Stopped Tasks os.tasks.stopped The number of tasks that are stopped.
Total Tasks os.tasks.total The total number of tasks.
Zombie Tasks os.tasks.zombie The number of child tasks that are inactive with an active parent task.
One Load Average Minute os.loadAverageMinute.one The number of processes requesting CPU time over the last minute.
Fifteen Load Average Minute os.loadAverageMinute.fifteen The number of processes requesting CPU time over the last 15 minutes.
Five Load Average Minute os.loadAverageMinute.five The number of processes requesting CPU time over the last 5 minutes.
Cached Swap os.swap.cached The amount of swap memory, in kilobytes, used as cache memory.
Free Swap os.swap.free The amount of swap memory free, in kilobytes.
In Swap os.swap.in The amount of memory, in kilobytes, swapped in from disk.
Out Swap os.swap.out The amount of memory, in kilobytes, swapped out to disk.
Total Swap os.swap.total

The total amount of swap memory available in kilobytes.

Max Files File Sys os.fileSys.maxFiles The maximum number of files that can be created for the file system.
Used Files File Sys os.fileSys.usedFiles The number of files in the file system.
Used File Percent File Sys os.fileSys.usedFilePercent The percentage of available files in use.
Used Percent File Sys os.fileSys.usedPercent The percentage of the file-system disk space in use.
Used File Sys os.fileSys.used The amount of disk space used by files in the file system, in kilobytes.
Total File Sys os.fileSys.total The total number of disk space available for the file system, in kilobytes.
Rx Network os.network.rx The number of bytes received per second.
Tx Network os.network.tx The number of bytes uploaded per second.
Acu Utilization General os.general.acuUtilization

The percentage of current capacity out of the maximum configured capacity.

Max Configured Acu General os.general.maxConfiguredAcu

The maximum capacity configured by the user, in ACUs.

Min Configured Acu General os.general.minConfiguredAcu

The minimum capacity configured by the user, in ACUs.

Num VCPUs General os.general.numVCPUs The number of virtual CPUs for the DB instance.
Serverless Database Capacity General os.general.serverlessDatabaseCapacity

The current capacity of the instance, in ACUs.

Performance Insights counters for Amazon RDS for MariaDB and MySQL

The following database counters are available with Performance Insights for Amazon RDS for MariaDB and MySQL.

Native counters for RDS for MariaDB and RDS for MySQL

Native metrics are defined by the database engine and not by Amazon RDS. For definitions of these native metrics, see Server Status Variables (for 8.0) and Server Status Variables (for 8.4) in the MySQL documentation.

Counter Type Unit Metric
Com_analyze SQL Queries per second db.SQL.Com_analyze
Com_optimize SQL Queries per second db.SQL.Com_optimize
Com_select SQL Queries per second db.SQL.Com_select
Connections SQL The number of connection attempts per minute (successful or not) to the MySQL server db.Users.Connections
Innodb_rows_deleted SQL Rows per second db.SQL.Innodb_rows_deleted
Innodb_rows_inserted SQL Rows per second db.SQL.Innodb_rows_inserted
Innodb_rows_read SQL Rows per second db.SQL.Innodb_rows_read
Innodb_rows_updated SQL Rows per second db.SQL.Innodb_rows_updated
Select_full_join SQL Queries per second db.SQL.Select_full_join
Select_full_range_join SQL Queries per second db.SQL.Select_full_range_join
Select_range SQL Queries per second db.SQL.Select_range
Select_range_check SQL Queries per second db.SQL.Select_range_check
Select_scan SQL Queries per second db.SQL.Select_scan
Slow_queries SQL Queries per second db.SQL.Slow_queries
Sort_merge_passes SQL Queries per second db.SQL.Sort_merge_passes
Sort_range SQL Queries per second db.SQL.Sort_range
Sort_rows SQL Queries per second db.SQL.Sort_rows
Sort_scan SQL Queries per second db.SQL.Sort_scan
Questions SQL Queries per second db.SQL.Questions
Innodb_row_lock_time Locks Milliseconds (average) db.Locks.Innodb_row_lock_time
Table_locks_immediate Locks Requests per second db.Locks.Table_locks_immediate
Table_locks_waited Locks Requests per second db.Locks.Table_locks_waited
Aborted_clients Users Connections db.Users.Aborted_clients
Aborted_connects Users Connections db.Users.Aborted_connects
max_connections Users Connections db.User.max_connections
Threads_created Users Connections db.Users.Threads_created
Threads_running Users Connections db.Users.Threads_running
Innodb_data_writes I/O Operations per second db.IO.Innodb_data_writes
Innodb_dblwr_writes I/O Operations per second db.IO.Innodb_dblwr_writes
Innodb_log_write_requests I/O Operations per second db.IO.Innodb_log_write_requests
Innodb_log_writes I/O Operations per second db.IO.Innodb_log_writes
Innodb_pages_written I/O Pages per second db.IO.Innodb_pages_written
Created_tmp_disk_tables Temp Tables per second db.Temp.Created_tmp_disk_tables
Created_tmp_tables Temp Tables per second db.Temp.Created_tmp_tables
Innodb_buffer_pool_pages_data Cache Pages db.Cache.Innodb_buffer_pool_pages_data
Innodb_buffer_pool_pages_total Cache Pages db.Cache.Innodb_buffer_pool_pages_total
Innodb_buffer_pool_read_requests Cache Pages per second db.Cache.Innodb_buffer_pool_read_requests
Innodb_buffer_pool_reads Cache Pages per second db.Cache.Innodb_buffer_pool_reads
Opened_tables Cache Tables db.Cache.Opened_tables
Opened_table_definitions Cache Tables db.Cache.Opened_table_definitions
Qcache_hits Cache Queries db.Cache.Qcache_hits

Non-native counters for Amazon RDS for MariaDB and MySQL

Non-native counter metrics are counters defined by Amazon RDS. A non-native metric can be a metric that you get with a specific query. A non-native metric also can be a derived metric, where two or more native counters are used in calculations for ratios, hit rates, or latencies.

Counter Type Metric Description Definition
innodb_buffer_pool_hits Cache db.Cache.innoDB_buffer_pool_hits The number of reads that InnoDB could satisfy from the buffer pool. innodb_buffer_pool_read_requests - innodb_buffer_pool_reads
innodb_buffer_pool_hit_rate Cache db.Cache.innoDB_buffer_pool_hit_rate The percentage of reads that InnoDB could satisfy from the buffer pool. 100 * innodb_buffer_pool_read_requests / (innodb_buffer_pool_read_requests + innodb_buffer_pool_reads)
innodb_buffer_pool_usage Cache db.Cache.innoDB_buffer_pool_usage

The percentage of the InnoDB buffer pool that contains data (pages).

Note

When using compressed tables, this value can vary. For more information, see the information about Innodb_buffer_pool_pages_data and Innodb_buffer_pool_pages_total in Server Status Variables (for 8.0) and Server Status Variables (for 8.4) in the MySQL documentation.

Innodb_buffer_pool_pages_data / Innodb_buffer_pool_pages_total * 100.0
query_cache_hit_rate Cache db.Cache.query_cache_hit_rate MySQL result set cache (query cache) hit ratio. Qcache_hits / (QCache_hits + Com_select) * 100
innodb_datafile_writes_to_disk I/O db.IO.innoDB_datafile_writes_to_disk The number of InnoDB data file writes to disk, excluding double write and redo logging write operations. Innodb_data_writes - Innodb_log_writes - Innodb_dblwr_writes
innodb_rows_changed SQL db.SQL.innodb_rows_changed The total InnoDB row operations. db.SQL.Innodb_rows_inserted + db.SQL.Innodb_rows_deleted + db.SQL.Innodb_rows_updated
active_transactions Transactions db.Transactions.active_transactions The total active transactions. SELECT COUNT(1) AS active_transactions FROM INFORMATION_SCHEMA.INNODB_TRX
trx_rseg_history_len Transactions db.Transactions.trx_rseg_history_len A list of the undo log pages for committed transactions that is maintained by the InnoDB transaction system to implement multi-version concurrency control. For more information about undo log records details, see InnoDB Multi-Versioning (for 8.0) and InnoDB Multi-Versioning (for 8.4) in the MySQL documentation. SELECT COUNT AS trx_rseg_history_len FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME='trx_rseg_history_len'
innodb_deadlocks Locks db.Locks.innodb_deadlocks The total number of deadlocks. SELECT COUNT AS innodb_deadlocks FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME='lock_deadlocks'
innodb_lock_timeouts Locks db.Locks.innodb_lock_timeouts The total number of locks that timed out. SELECT COUNT AS innodb_lock_timeouts FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME='lock_timeouts'
innodb_row_lock_waits Locks db.Locks.innodb_row_lock_waits The total number of row locks that resulted in a wait. SELECT COUNT AS innodb_row_lock_waits FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME='lock_row_lock_waits'

Performance Insights counters for Amazon RDS for Microsoft SQL Server

The following database counters are available with Performance Insights for RDS for Microsoft SQL Server.

Native counters for RDS for Microsoft SQL Server

Native metrics are defined by the database engine and not by Amazon RDS. You can find definitions for these native metrics in Use SQL Server Objects in the Microsoft SQL Server documentation.

Counter Type Unit Metric
Forwarded Records Access Methods Records per second db.Access Methods.Forwarded Records
Page Splits Access Methods Splits per second db.Access Methods.Page Splits
Buffer cache hit ratio Buffer Manager Ratio db.Buffer Manager.Buffer cache hit ratio
Page life expectancy Buffer Manager Expectancy in seconds db.Buffer Manager.Page life expectancy
Page lookups Buffer Manager Lookups per second db.Buffer Manager.Page lookups
Page reads Buffer Manager Reads per second db.Buffer Manager.Page reads
Page writes Buffer Manager Writes per second db.Buffer Manager.Page writes
Active Transactions Databases Transactions db.Databases.Active Transactions (_Total)
Log Bytes Flushed Databases Bytes flushed per second db.Databases.Log Bytes Flushed (_Total)
Log Flush Waits Databases Waits per second db.Databases.Log Flush Waits (_Total)
Log Flushes Databases Flushes per second db.Databases.Log Flushes (_Total)
Write Transactions Databases Transactions per second db.Databases.Write Transactions (_Total)
Processes blocked General Statistics Processes blocked db.General Statistics.Processes blocked
User Connections General Statistics Connections db.General Statistics.User Connections
Latch Waits Latches Waits per second db.Latches.Latch Waits
Number of Deadlocks Locks Deadlocks per second db.Locks.Number of Deadlocks (_Total)
Memory Grants Pending Memory Manager Memory grants db.Memory Manager.Memory Grants Pending
Batch Requests SQL Statistics Requests per second db.SQL Statistics.Batch Requests
SQL Compilations SQL Statistics Compilations per second db.SQL Statistics.SQL Compilations
SQL Re-Compilations SQL Statistics Re-compilations per second db.SQL Statistics.SQL Re-Compilations

Performance Insights counters for Amazon RDS for Oracle

The following database counters are available with Performance Insights for RDS for Oracle.

Native counters for RDS for Oracle

Native metrics are defined by the database engine and not by Amazon RDS. You can find definitions for these native metrics in Statistics Descriptions in the Oracle documentation.

Note

For the CPU used by this session counter metric, the unit has been transformed from the native centiseconds to active sessions to make the value easier to use. For example, CPU send in the DB Load chart represents the demand for CPU. The counter metric CPU used by this session represents the amount of CPU used by Oracle sessions. You can compare CPU send to the CPU used by this session counter metric. When demand for CPU is higher than CPU used, sessions are waiting for CPU time.

Counter Type Unit Metric
CPU used by this session User Active sessions db.User.CPU used by this session
SQL*Net roundtrips to/from client User Roundtrips per second db.User.SQL*Net roundtrips to/from client
Bytes received via SQL*Net from client User Bytes per second db.User.bytes received via SQL*Net from client
User commits User Commits per second db.User.user commits
Logons cumulative User Logons per second db.User.logons cumulative
User calls User Calls per second db.User.user calls
Bytes sent via SQL*Net to client User Bytes per second db.User.bytes sent via SQL*Net to client
User rollbacks User Rollbacks per second db.User.user rollbacks
Redo size Redo Bytes per second db.Redo.redo size
Parse count (total) SQL Parses per second db.SQL.parse count (total)
Parse count (hard) SQL Parses per second db.SQL.parse count (hard)
Table scan rows gotten SQL Rows per second db.SQL.table scan rows gotten
Sorts (memory) SQL Sorts per second db.SQL.sorts (memory)
Sorts (disk) SQL Sorts per second db.SQL.sorts (disk)
Sorts (rows) SQL Sorts per second db.SQL.sorts (rows)
Physical read bytes Cache Bytes per second db.Cache.physical read bytes
DB block gets Cache Blocks per second db.Cache.db block gets
DBWR checkpoints Cache Checkpoints per minute db.Cache.DBWR checkpoints
Physical reads Cache Reads per second db.Cache.physical reads
Consistent gets from cache Cache Gets per second db.Cache.consistent gets from cache
DB block gets from cache Cache Gets per second db.Cache.db block gets from cache
Consistent gets Cache Gets per second db.Cache.consistent gets

Performance Insights counters for Amazon RDS for PostgreSQL

The following database counters are available with Performance Insights for Amazon RDS for PostgreSQL.

Native counters for Amazon RDS for PostgreSQL

Native metrics are defined by the database engine and not by Amazon RDS. You can find definitions for these native metrics in Viewing Statistics in the PostgreSQL documentation.

Counter Type Unit Metric
blks_hit Cache Blocks per second db.Cache.blks_hit
buffers_alloc Cache Blocks per second db.Cache.buffers_alloc
buffers_checkpoint Checkpoint Blocks per second db.Checkpoint.buffers_checkpoint
checkpoint_sync_time Checkpoint Milliseconds per checkpoint db.Checkpoint.checkpoint_sync_time
checkpoint_write_time Checkpoint Milliseconds per checkpoint db.Checkpoint.checkpoint_write_time
checkpoints_req Checkpoint Checkpoints per minute db.Checkpoint.checkpoints_req
checkpoints_timed Checkpoint Checkpoints per minute db.Checkpoint.checkpoints_timed
maxwritten_clean Checkpoint Bgwriter clean stops per minute db.Checkpoint.maxwritten_clean
deadlocks Concurrency Deadlocks per minute db.Concurrency.deadlocks
blk_read_time I/O Milliseconds db.IO.blk_read_time
blks_read I/O Blocks per second db.IO.blks_read
buffers_backend I/O Blocks per second db.IO.buffers_backend
buffers_backend_fsync I/O Blocks per second db.IO.buffers_backend_fsync
buffers_clean I/O Blocks per second db.IO.buffers_clean
tup_deleted SQL Tuples per second db.SQL.tup_deleted
tup_fetched SQL Tuples per second db.SQL.tup_fetched
tup_inserted SQL Tuples per second db.SQL.tup_inserted
tup_returned SQL Tuples per second db.SQL.tup_returned
tup_updated SQL Tuples per second db.SQL.tup_updated
temp_bytes Temp Bytes per second db.Temp.temp_bytes
temp_files Temp Files per minute db.Temp.temp_files
xact_commit Transactions Commits per second db.Transactions.xact_commit
xact_rollback Transactions Rollbacks per second db.Transactions.xact_rollback
numbackends User Connections db.User.numbackends
archived_count Write-ahead log (WAL) Files per minute db.WAL.archived_count

Non-native counters for Amazon RDS for PostgreSQL

Non-native counter metrics are counters defined by Amazon RDS. A non-native metric can be a metric that you get with a specific query. A non-native metric also can be a derived metric, where two or more native counters are used in calculations for ratios, hit rates, or latencies.

Counter Type Metric Description Definition
checkpoint_sync_latency Checkpoint db.Checkpoint.checkpoint_sync_latency The total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk. checkpoint_sync_time / (checkpoints_timed + checkpoints_req)
checkpoint_write_latency Checkpoint db.Checkpoint.checkpoint_write_latency The total amount of time that has been spent in the portion of checkpoint processing where files are written to disk. checkpoint_write_time / (checkpoints_timed + checkpoints_req)
read_latency I/O db.IO.read_latency The time spent reading data file blocks by backends in this instance. blk_read_time / blks_read
idle_in_transaction_aborted_count State db.state.idle_in_transaction_aborted_count The number of sessions in the idle in transaction (aborted) state.
idle_in_transaction_count State db.state.idle_in_transaction_count The number of sessions in the idle in transaction state.
idle_in_transaction_max_time State db.state.idle_in_transaction_max_time The duration of the longest running transaction in the idle in transaction state, in seconds.
active_transactions Transactions db.Transactions.active_transactions The number of active transactions.
blocked_transactions Transactions db.Transactions.blocked_transactions The number of blocked transactions.
oldest_active_logical_replication_slot_xid_age Transactions db.Transactions.oldest_active_logical_replication_slot_xid_age

The age of the oldest transaction in an active logical replication slot.

For more information, see Logical replication slot.

oldest_inactive_logical_replication_slot_xid_age Transactions db.Transactions.oldest_inactive_logical_replication_slot_xid_age

The age of the oldest transaction in an inactive logical replication slot.

For more information, see Logical replication slot.

oldest_prepared_transaction_xid_age Transactions db.Transactions.oldest_prepared_transaction_xid_age

The age of the oldest prepared transaction.

For more information, see Prepared transaction.

oldest_running_transaction_xid_age Transactions db.Transactions.oldest_running_transaction_xid_age

The age of the oldest running transaction.

For more information, see Active statement for the oldest running active transaction and Idle in transaction for the oldest running idle-in-transaction.

oldest_hot_standby_feedback_xid_age Transactions db.Transactions.oldest_hot_standby_feedback_xid_age

The age of the oldest running transaction on a read replica with hot_standby_feedback enabled.

For more information, see Read replicas.

max_used_xact_ids Transactions db.Transactions.max_used_xact_ids The number of transactions that haven't been vacuumed.
max_connections Users db.User.max_connections The maximum number of connections allowed for a DB instance as configured in max_connections parameter.
archive_failed_count WAL db.WAL.archive_failed_count The number of failed attempts for archiving WAL files, in files per minute.