9 ms·
"How 500 HN users crashed my 2GB server in 60 seconds – postmortem
- tills13 2mo agoAn AI slop article about the limitations of vibe coding. How ironic.
- rf15 2mo agotldr: vibe overengineered and badly configured platform crashes under minimal load. 500 concurrent users is not "production traffic". Nothing to learn here, apart from: this could've been one server engine, one database, and vanillajs. Let's repeat our usual mantra before building anything: you're not building current(!) Facebook/Netflix from scratch, stop having 10+ product dependencies, 20 services and 6 different languages in your toy project.
- GroguMaster 2mo agoFair point on the server being undersized. Stack is actually just Node
- IcePic 2mo agoIn the 90s, people thought about the c10k problem, which is how to handle 10000 connections. In those days, this 2GB server would have been a dream to have and probably had moved the needle to 20k, 50k or whatever the limit is. You only get problems with 500 connections on a modern machine if you are really really bad at handling each request.
- GroguMaster 2mo agoYou are right, the server handled connections fine. The issue was a single unindexed correlated subquery blocking the entire PostgreSQL connection pool for 13 minutes. We live and learn.
- IcePic 2mo agoYes, did not mean to imply that everyone should know everything immediately, just that "the server was too small" feels a bit misguided. It might solve the problem to make the hw a real monster, but if you hit limits at 500 then I think one should look at the other parts of the equation. Glad you fixed it in the end.