← Back to context

Comment by codegeek

12 hours ago

"Why Us" => "I ran Postgres at Instacart, where we scaled the company 5x in April of 2020. The biggest problem we had was making Postgres serve 100,000s of grocery delivery orders per minute"

Couldn't be a better why us :)

Is 100k order per minute a lot? Even a single Postgres instance should serve that fine?

  • 100k(s) orders per minute is several orders of magnitude more than realistic. Amazon does 20k orders per minute.

    Instacart doesn't need "100,000s of grocery delivery orders per minute".

    There must be some 0s added for the sake of the story.

    • That doesn't necessarily mean _new_ orders per minute. Their app or website could poll for updates every 15 seconds

      Could just be looking at the "orders" endpoint in their app which might also include incremental updates as shoppers get items from the store. It's a fairly ambiguous statement

  • One assumes they mean 100,000s (plural) concurrent users actively building carts

    • Is that still a lot? Feels like a single 64-core, 256GB RDS instance with some caching should handle that fine. RDS has instances up to 192-core and 768GB.

      2 replies →

I’ve always found Instacart to be extremely slow with giant latencies. Of course I don’t know if that’s due to Postgres or some other design flaw…

why did we switch to per minute? A modern quality enterprise SSD can do 35K +/- legit fsyncs per second.