Postgres on AWS - Benchmark PostgreSQL performance and cost across 23 EC2 instance types
This comprehensive benchmarking tool analyzes PostgreSQL performance and costs across 23 different AWS EC2 instance types, helping developers optimize their database infrastructure. By testing configurations ranging from Graviton-based arm64 to x86-64 processors with various disk settings, it identifies the most cost-effective setups for specific throughput targets. Users can explore sortable data to find the cheapest instance that meets their requirements or the configuration offering the best requests per second per dollar, ensuring efficient resource allocation for their PostgreSQL deployments on Amazon Web Services.
The cheapest config that clears 33,000 RPS is m8g.large on gp3-baseline at $82/mo.
- nijave
Would be interesting to see huge pages and io2 impact.
I did a smaller version on Azure and disk latency had a massive impact much more so than max IOPs (although their crappy storage offering needed like 64-128 iodepth to get advertised iops).
Results seem mostly in line with expectations. Iirc vcpu is threads so on arm64 you get 4 smt1 cores vs Intel/AMD you get 2 smt2 cores.
- ballislife30
Would love to see a comparison between Aurora PostgreSQL and self-host PostgreSQL on the same EC2 instance type.
- mattlong
I'd be very curious to see you add the Optimized Reads instance types, e.g. r8gd or m8gd, to your benchmark. They add a local NVMe-based SSD block storage that serves as a cache in front of the network-based disks among other use cases. They have been a huge win for us for a read-heavy workload where the dataset is significantly larger than memory.
Edit: Apologies, on a closer read, I realize you were not testing RDS but managing Postgres on EC2 directly.