AWS RDS PostgreSQL DB - WriteLatency spikes every 3hrs
02:44 17 Jan 2026

Our PostgreSQL (14.17) DB has WriteLatency spikes every 3hrs (12:10PM, 3:10PM, 6:10PM), with no corresponding increase in WriteIOPs or WriteThroughput. DiskQueueDepth is 1:1 with WriteLatency.

No recent changes in our application logic that would be causing this. The spikes started occurring around the 8th of Dec 2025.

Ruled Out Suspects:

  1. Increased No of Rows: The DB did not have any significant increase in rows around the time the behaviour started.

  2. StorageIOPs bottleneck: We are using gp3 SSDs with 3000 IOPS provisioned. We are also no where near filling our storage.

  3. Post v11, PostgreSQL RDS instances can have write latency spikes (Average) every five min. This is usually related to the DB not being busy enough, causing more expensive writes like checkpt (which runs every 5 min by default) to inflate the Average calc and trigger the metric alarm (https://repost.aws/knowledge-center/rds-postgresql-upgrade-write-latency).

  4. Checkpoint and BG Writer Issue: If issue were checkpoint related, it would occur more frequently (every 5 min prob, which is how freq checkpt runs by default), not every three hours exactly. Further, on inspecting our pg_stat_bgwriter table, we found the following:

    checkpoints_timed : 268058
    checkpoints_req : 16
    checkpoint_write_time : 86797697.0
    checkpoint_sync_time : 788768.0
    buffers_checkpoint : 891968
    buffers_clean : 0
    maxwritten_clean : 0
    buffers_backend : 36059
    buffers_backend_fsync : 0
    buffers_alloc : 56268
    stats_reset : 2023-02-15 21:58:05.924 
    

Checkpoint handles almost all cleanup, the bg_writer has not cleaned anything, and backend (ie running queries) has had to clean a little here and there. From what I've seen of PostgreSQL archived emails w the devs, this is not necessarily a failing pattern (https://pgsql-general.postgresql.narkive.com/K9cLFQQR/help-interpreting-pg-stat-bgwriter-output).

At this point, I'm wondering if an AWS minor version upgrade or unannounced maintenance change is the reason for this abrupt shift. Pls lmk if any other details are needed.

postgresql amazon-web-services amazon-rds