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.
Topics
Performance Insights operating system counters
The following operating system counters, which are prefixed with os
, are
available with Performance Insights for
Aurora PostgreSQL and Aurora MySQL.
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. |
Aurora Storage Aurora Storage Bytes Rx | Disk IO | os.diskIO.auroraStorage.auroraStorageBytesRx |
The number of bytes received for aurora storage per second. |
Aurora Storage Aurora Storage Bytes Tx | Disk IO | os.diskIO.auroraStorage.auroraStorageBytesTx |
The number of bytes uploaded for aurora storage per second. |
Aurora Storage Disk Queue Depth |
Disk IO |
os.diskIO.auroraStorage.diskQueueDepth |
The length of aurora storage disk queue. |
Aurora Storage Read IOs PS |
Disk IO |
os.diskIO.auroraStorage.readIOsPS |
The number of read operations per second. |
Aurora Storage Read Latency |
Disk IO |
os.diskIO.auroraStorage.readLatency |
The average latency of a read I/O request to Aurora storage, in milliseconds. |
Aurora Storage Read Throughtput |
Disk IO |
os.diskIO.auroraStorage.readThroughput |
The amount of network throughput used by requests to the DB cluster, in bytes per second. |
Aurora Storage Write IOs PS |
Disk IO |
os.diskIO.auroraStorage.writeIOsPS |
The number of write operations per second. |
Aurora Storage Write Latency |
Disk IO |
os.diskIO.auroraStorage.writeLatency |
The average latency of a write I/O request to Aurora storage, in milliseconds. |
Aurora Storage Write Throughput |
Disk IO |
os.diskIO.auroraStorage.writeThroughput |
The amount of network throughput used by responses from the DB cluster, in bytes per second. |
Rdstemp Avg Queue Len |
Disk IO |
os.diskIO.rdstemp.avgQueueLen |
The number of requests waiting in the I/O device's queue. |
Rdstemp Avg Req Sz |
Disk IO |
os.diskIO.rdstemp.avgReqSz |
The number of requests waiting in the I/O device's queue. |
Rdstemp Await |
Disk IO |
os.diskIO.rdstemp.await |
The number of milliseconds required to respond to requests, including queue time and service time. |
Rdstemp Read IOs PS |
Disk IO |
os.diskIO.rdstemp.readIOsPS |
The number of read operations per second. |
Rdstemp Read KB |
Disk IO |
os.diskIO.rdstemp.readKb |
The total number of kilobytes read. |
Rdstemp Read KB PS |
Disk IO |
os.diskIO.rdstemp.readKbPS |
The number of kilobytes read per second. |
Rdstemp Rrqm PS |
Disk IO |
os.diskIO.rdstemp.rrqmPS |
The number of merged read requests queued per second. |
Rdstemp TPS |
Disk IO |
os.diskIO.rdstemp.tps |
The number of I/O transactions per second. |
Rdstemp Util |
Disk IO |
os.diskIO.rdstemp.util |
The percentage of CPU time during which requests were issued. |
Rdstemp Write IOs PS |
Disk IO |
os.diskIO.rdstemp.writeIOsPS |
The number of write operations per second. |
Rdstemp Write KB |
Disk IO |
os.diskIO.rdstemp.writeKb |
The total number of kilobytes written. |
Rdstemp Write KB PS |
Disk IO |
os.diskIO.rdstemp.writeKbPS |
The number of kilobytes written per second. |
Rdstemp Wrqm PS |
Disk IO |
os.diskIO.rdstemp.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 Aurora MySQL
The following database counters are available with Performance Insights for Aurora MySQL.
Native counters for Aurora MySQL
Native metrics are defined by the database engine and not by Amazon Aurora. You can find definitions for these native metrics in
Server status variables
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 |
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 |
Queries | SQL | Queries per second | db.SQL.Queries |
Questions | SQL | Queries per second | db.SQL.Questions |
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 |
Total_query_time | SQL | Milliseconds | db.SQL.Total_query_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 |
Innodb_row_lock_time | Locks | Milliseconds (average) | db.Locks.Innodb_row_lock_time |
Aborted_clients | Users | Connections | db.Users.Aborted_clients |
Aborted_connects | Users | Connections | db.Users.Aborted_connects |
Connections | Users | Connections | db.Users.Connections |
External_threads_connected | Users | Connections | db.Users.External_threads_connected |
max_connections | Users | Connections | db.User.max_connections |
Threads_connected | Users | Connections | db.Users.Threads_connected |
Threads_created | Users | Connections | db.Users.Threads_created |
Threads_running | Users | Connections | db.Users.Threads_running |
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 Aurora 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 |
---|---|---|---|---|
active_transactions | Transactions | db.Transactions.active_transactions | The total active transactions. | SELECT COUNT(1) AS active_transactions FROM
INFORMATION_SCHEMA.INNODB_TRX |
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_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_usage | Cache | db.Cache.innoDB_buffer_pool_usage |
The percentage of the InnoDB buffer pool that contains data (pages). NoteWhen using compressed tables, this value can vary. For more information, see the information about
|
Innodb_buffer_pool_pages_data / Innodb_buffer_pool_pages_total *
100.0 |
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 deadlocks 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' |
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 |
query_cache_hit_rate | Cache | db.Cache.query_cache_hit_rate | The hit ratio for the MySQL result set cache (query cache). | Qcache_hits / (QCache_hits + Com_select) * 100 |
temp_disk_tables_percent | Temp | db.Temp.temp_disk_tables_percent | The percentage of temporary tables that are created on disk by the server when running statements. | (db.Temp.Created_tmp_disk_tables / db.Temp.Created_tmp_tables)
* 100 |
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
https://dev.mysql.com/doc/refman/8.0/en/innodb-multi-versioning.html |
SELECT COUNT AS trx_rseg_history_len FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE NAME='trx_rseg_history_len'
|
Performance Insights counters for Aurora PostgreSQL
The following database counters are available with Performance Insights for Aurora PostgreSQL.
Native counters for Aurora PostgreSQL
Native metrics are defined by the database engine and not by Amazon Aurora. You can find definitions for these native metrics in Viewing Statistics
Counter | Type | Unit | Metric |
---|---|---|---|
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 |
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 |
checkpoints_req | Checkpoint | Checkpoints per minute | db.Checkpoint.checkpoints_req |
checkpoint_sync_time | Checkpoint | Milliseconds per checkpoint | db.Checkpoint.checkpoint_sync_time |
checkpoints_timed | Checkpoint | Checkpoints per minute | db.Checkpoint.checkpoints_timed |
checkpoint_write_time | Checkpoint | Milliseconds per checkpoint | db.Checkpoint.checkpoint_write_time |
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 |
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 | WAL | Files per minute | db.WAL.archived_count |
Non-native counters for Aurora PostgreSQL
Non-native counter metrics are counters defined by Amazon Aurora. 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) |
local_blks_read | I/O | db.IO.local_blks_read | Total number of local blocks read. | – |
local_blk_read_time | I/O | db.IO.local_blk_read_time | If track_io_timing is enabled, it tracks the total time spent reading local data file blocks, in milliseconds, otherwise the value is zero. For more information, see
track_io_timing |
– |
orcache_blks_hit | I/O | db.IO.orcache_blks_hit | Total number of shared blocks hits from optimized reads cache. | – |
orcache_blk_read_time | I/O | db.IO.orcache_blk_read_time | If track_io_timing is enabled, it tracks the total time spent reading data
file blocks from Optimized Reads cache, in milliseconds, otherwise the value is zero. For more information, see
track_io_timing |
– |
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 |
storage_blks_read | I/O | db.IO.storage_blks_read | Total number of shared blocks read from aurora storage. | – |
storage_blk_read_time | I/O | db.IO.storage_blk_read_time | If track_io_timing is enabled, it tracks the total time spent reading data
file blocks from Aurora storage, in milliseconds, otherwise the value is zero. For more information, see
track_io_timing |
– |
active_count | State | db.state.active_count | The number of sessions in the active state. |
– |
idle_count | State | db.state.idle_count | The number of sessions in the idle state. |
– |
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. |
– |
logical_reads | SQL | db.SQL.logical_reads | The total number of blocks hit and read. | blks_hit + blks_read |
queries_started | SQL | db.SQL.queries | The number of queries started. | – |
queries_finished | SQL | db.SQL.queries | The number of queries finished. | – |
total_query_time | SQL | db.SQL.total_query_time | The total time spent executing statements, in milliseconds. | – |
active_transactions | Transactions | db.Transactions.active_transactions | The number of active transactions. | – |
blocked_transactions | Transactions | db.Transactions.blocked_transactions | The number of blocked transactions. | – |
commit_latency | Transactions | db.Transactions.commit_latency | The average duration of commit operations. | db.Transactions.duration_commits / db.Transactions.xact_commit |
duration_commits | Transactions | db.Transactions.duration_commits | The total transaction time spent in the last minute, in milliseconds. | – |
max_used_xact_ids | Transactions | db.Transactions.max_used_xact_ids | The number of transactions that haven't been vacuumed. | – |
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. | – |
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. | – |
oldest_reader_feedback_xid_age | Transactions | db.Transactions.oldest_reader_feedback_xid_age | The age of the oldest transaction of a long‐running transaction on an Aurora reader instance or Aurora global DB reader instance. | – |
oldest_prepared_transaction_xid_age | Transactions | db.Transactions.oldest_prepared_transaction_xid_age | The age of the oldest prepared transaction. | – |
oldest_running_transaction_xid_age | Transactions | db.Transactions.oldest_running_transaction_xid_age | The age of the oldest running transaction. | – |
max_connections | Users | db.User.max_connections | The maximum number of connections allowed for a database as configured in max_connections parameter. |
– |
total_auth_attempts | Users | db.User.total_auth_attempts | The number of connection attempts to this instance per minute. | – |
archive_failed_count | WAL | db.WAL.archive_failed_count | The number of failed attempts for archiving WAL files, in files per minute. | – |