Aurora I/O

AI-generated summary

In a discussion titled “Aurora I/O” under the Hosting category, pqMMA inquired about running Discourse on AWS EC2 with Aurora RDS, noting unusually high I/O costs—5.5 billion monthly requests—for a forum with ~1,000 active users. Falco, who runs this forum on EC2/RDS, questioned why Aurora was chosen over standard PostgreSQL RDS. pqMMA admitted uncertainty but shared their developer’s rationale: Aurora was selected for dynamic storage provisioning and easier management. Falco recommended using RDS Performance Insights to investigate. In response to Falco, pqMMA acknowledged the trade-off—avoiding disk space management at higher cost—and noted that Aurora previously failed some Discourse compatibility tests. Falco confirmed their team uses PostgreSQL RDS across hundreds of Discourse instances. pqMMA expressed intent to explore migration, and later confirmed they successfully migrated from Aurora to standard PostgreSQL, citing Falco’s feedback as instrumental.

I am curious if anyone else has Discourse running on AWS through an EC2 instance and RDS setup?

We have run into an issue where the amount of I/O requests is through the roof and creating significant cost. We are currently processing 5.5 billion monthly I/O requests, which seems like a lot for a forum of maybe a 1,000 active users.

This forum here is ran on EC2 / RDS, so we are quite familiar with it.

My first question will be: why are you using Aurora? Why wasn’t standard PostgreSQL on RDS adequate?

That is a good question. I’m not sure why that decision was made in retrospect. I assume the cost would be cheaper for standard PostgreSQL, but also trying to determine if there is a setup issue causing more I/O requests than there should be.

I’d check RDS Performance Insights for clues.

Ok. Also my developer noted: “Aurora was done to not provision/allocate space beforehand and better management”

It’s part of the trade-off. No need to handle disk space alerts in exchange for paying more for the service.

I tested Aurora (couple of years ago) and it didn’t pass all Discourse tests at the time. We run hundreds of Discourse instances in AWS, but we use PostgreSQL RDS in all of those.

Thanks for that insight. I will definitely dig into migrating (if possible).

Thanks for the feedback here. We just completed migrating from Aurora to standard Postgre SQL.