Discussion summary
A PostgreSQL performance comparison across 23 EC2 instance types was discussed, with suggestions to include Azure, GCP, AMD instances, and optimized read types. Participants also considered design adjustments for heavy write loads and comparisons with Aurora PostgreSQL.
What the discussion says
- Include more cloud providers like Azure and GCP.
- Add AMD instance types such as M8a, R8a, C8a.
- Compare default PostgreSQL with Aurora PostgreSQL.
- Consider performance with heavy write workloads.
- Include optimized read instance types like r8gd, m8gd.
“Gotta get the AMD instances in there.”
“Would love to see a comparison between Aurora PostgreSQL and self-host PostgreSQL.”
Comments
Hacker News
by sysguru2046
Especially, cost-efficiency. I'll think how to put it, thanks :)
by anivan_
by crudgen
It would also be interesting to have cross-provider comparison. I think it's doable. Thanks!
by anivan_
by Rafuino
by anivan_
by TurdF3rguson
Small badges will be helpful, though. I added hovers in some places, like for latency numbers, but I think more visible badges will work better, thanks!
by anivan_
by handfuloflight
My vision is that there will be more movement in this direction, but still, we need first to understand limits of "easy to work with" databases like Postgres. It's easy to underestimate what Postgres can do.
And only when it's not enough, move to something LSM-tree-based.
by anivan_
Edit: Apologies, on a closer read, I realize you were not testing RDS but managing Postgres on EC2 directly.
by mattlong
Thanks for highlighting this!
by anivan_
by ballislife30
And it should be easy to add - I'll check it, thanks!
by anivan_
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.
by nijave
by Rafuino
io2 is on my future-work list. And agree, I have the same feelings about IOPS.
by anivan_
Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- Superbase?by sysguru2046
- That might be an interesting comparison :)
Especially, cost-efficiency. I'll think how to put it, thanks :)
by anivan_ - Interesting, is there something like this for azureby crudgen
- I was initially inspired by the https://instances.vantage.sh/, so, like them, I want to add other providers later. Like Azure and GCP.
It would also be interesting to have cross-provider comparison. I think it's doable. Thanks!
by anivan_ - Gotta get the AMD instances in there. Not seeing M8a, R8a, C8a, for exampleby Rafuino
- Yeah, good point - I've limited the scope to make the first release more lightweight. I'll add them in the next one, thanks!by anivan_
- An info badge next to rps would be nice, I'm trying to guess what r is. Rows? Records? Requests?by TurdF3rguson
- It's requests per second, and I briefly described that on https://postgres.saneengineer.com/about
Small badges will be helpful, though. I added hovers in some places, like for latency numbers, but I think more visible badges will work better, thanks!
by anivan_ - What are your thoughts on how design changes if writes become much heavier, ie. when recording agent operations?by handfuloflight
- I think we have a lot of DBs specialised for heavy write, like anything with LSM-tree in their base.
My vision is that there will be more movement in this direction, but still, we need first to understand limits of "easy to work with" databases like Postgres. It's easy to underestimate what Postgres can do.
And only when it's not enough, move to something LSM-tree-based.
by anivan_ - 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.
by mattlong - Yes, I want to cover RDS with all of its specifics as the next step.
Thanks for highlighting this!
by anivan_ - Would love to see a comparison between Aurora PostgreSQL and self-host PostgreSQL on the same EC2 instance type.by ballislife30
- Good point! I kept the configuration of the Postgres pretty close to the defaults, and it would be interesting to compare it with the same default Aurora Postgres.
And it should be easy to add - I'll check it, thanks!
by anivan_ - 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.
by nijave - Most of the recent AMD instances on AWS have SMT off so 1 core per vCPU. None of those seem to be tested here thoughby Rafuino
- Good points, thanks. On huge pages: this is also about RDS vs self-managed EC2 Postgres. RDS effectively has "on" by default, but default self-managed (that I benchmarked) is "try" which is effectively "off". I'll update the methodology page to cover that, and, yeah, it makes sense to cover that separately.
io2 is on my future-work list. And agree, I have the same feelings about IOPS.
by anivan_
Related stories
An interactive explorer for Benford's Law across real datasets
vatsalbakshi.com · 33 points · 12 comments
Decoding the obfuscated bash script on a Uniqlo t-shirt
tris.sherliker.net · 1072 points · 181 comments
StreetComplete: Fixing OpenStreetMap, one tiny quest at a time
streetcomplete.app · 761 points · 182 comments
Every new car sold in the European Union must include a driver monitoring camera
allaboutcookies.org · 737 points · 969 comments
Chat Control 1.0 and 2.0 Explained
fightchatcontrol.eu · 645 points · 238 comments
Microsoft fire idTech team at Id software
gamefromscratch.com · 597 points · 533 comments