skip to Main Content

In AWS RDS Aurora – Monitoring section we notice that, even though most time there is no database activity (according to Monitoring and Performance Insights),

We still notice that for the past weeks,

  • Aurora Write IOPS was high at all times
  • Aurora Write Latency was high at all times (multiple 100s of ms to seconds)

Why could this be?
What could caue the Write IOPS saturation?
There is no Database activity that we can see.

3

Answers


  1. Chosen as BEST ANSWER

    There is a bug in the metric. Anyway, In case of AWS Aurora, the writes are done only in memory and to the storage cluster. Inspecting the write latency on the storage cluster, using SSD, is 1ms per write. It is still concerning that the EBS (in our case) write latency on the DB instance is high but the database storage (logs, pages) is not on instances disk or volume or EBS, but only in discs on the storage cluster. So it is a bit less concerning and less impacting on the INSERT or COMMIT latency.


  2. Open a connection to the Aurora instance and search for long running queries:

    SELECT
      pid,
      now() - pg_stat_activity.query_start AS duration,
      query,
      state
    FROM pg_stat_activity
    WHERE (now() - pg_stat_activity.query_start) > interval '5 minutes';
    

    This will show you any queries that you can then kill.

    If it doesn’t reveal any queries then something seems wrong with the instance. I would stop and start the instance to see if the behavior changes.

    Login or Signup to reply.
  3. I had the same issue, I was getting billed for a little over 21 million write IOPS and about 30k read IOPS per month for an unused, dormant cluster of 2 with 5 tables containing about 23 records collectively (all put together might make 2KB in data). I opened a case with AWS who replied with:

    As from our interanl team, it is normal to observe some Write.IOPS on
    the serverless cluster as Aurora involves backed monitoring and
    management process that repeatedly access the database for health
    check and operational purposes. The number of Write IOPS usually are
    minimal (8 IOPS per second on average for ptx-engage-aurora-mysql
    cluster)

    So the caculation should be below:

    t8 IOPS * 3600 Sec/hour * 24 hours/day * 31 days = 21,427,200 IOPS

    And I can see you have some VolumeReadIOPs in January, the total
    billed IOPS (21,460,608) should be correct.

    Please kindly note, the 8 IOPS activity does not pose any performance
    penalty to the user-processes. And there is no exact stipulated
    WriteIOPS estimate consumption per second, as they may vary based on
    the operational load on the database via Cluster or DB modifications
    such as change of ACUs, engine version upgrades, OS maintenance,
    taking backups, enabling/disabling Performance Insights etc may lead
    to brief IOPS fluctuations.

    To summarise, your understanding from the last correspondence is
    correct – there are around 8 IOPS write activity from the Aurora
    Serverless cluster by default.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search