Reputation: 2115
Whenever I go to the "Performance Insights" console for an RDS postgresql instance, there are always two entries making up most of the "load by waits (average active sessions)": autovacuum
and COMMIT
.
Is this normal, or should I be doing something about it?
It is suggested in an answer that the high COMMIT load may be due to the disk being overloaded. I assume that some cloudwatch metrics may support this, but I am unsure what is normal here too.
DiskQueueDepth (maximum per hour, over a week):
WriteLatency (maximum per hour, over a week):
ReadLatency never gets about 0.002s, so I assume this is not a problem.
CPU IO/wait is of interest; here is (I think) a graph of that from Performance Insights. It peaks at around 6% in the previous 24 hrs (I think this may be a 5 minute average):
Upvotes: 1
Views: 1834
Reputation: 247515
If COMMIT
consumes substantial time, that is usually a sure sign for I/O overload.
But in your case all the evidence speaks against that. Since I don't know what exactly the graph measures, I would say that what you observe is a moderately busy OLTP system with lots of small write operations.
If you want to reduce the work during COMMIT
, you could set synchronous_commit
to off
. The price you would be paying is that you can lose up to 0.6 seconds of committed transactions in the case of a crash.
Upvotes: 2