DB Load in RDS Performance Insights

Giuseppe Crinò
2 min readOct 6, 2023

You open you RDS Performance Insights and you see a graph that tracks the Average active sessions (AAS) over time. What's that?

An active session is a database connection which is using instance resources, be it CPU or disk. To get the Average active sessions the number of active sessions is sampled over time, cumulative added and divided over the cumulative sums of samples.

That means that as a rule-of-thumb a high AAS is using lots of resources while a low AAS is good.

AAS is often compared to the number of cores / vCPU since for CPU intensive tasks an AAS greater than the number of cores means the sessions are using all the processing power available all of the time. Yet, a high AAS could also mean the disk is slow or the queries reading a lot from the disk and waiting.

RDS lets you see the DB load sliced by Waits, User, SQL, .. (respectively: the load bar is coloured by CPU wait, I/O wait or other OS tasks wait, or by the user whose active sessions belongs, or by the SQL queries performed by the sessions).

As a side note, this is very similar to the concept of Load on your laptop. Launch uptime and you'll see something like

19:17:18 up 22:54, 3 users, load average: 1.71, 1.53, 1.50

Those 3 numbers at the end are the load, averaged over 1 minute, 5 minutes and 15 minutes. The load is computed using the number of processes either running or in uninterruptible sleep (i.e. waiting for I/O). Again, high load is bad.

--

--