← Back to context

Comment by spullara

12 hours ago

when I joined twitter in 2011 there was a single mysql master user (not tweets) database and a few dozen read replicas. it was writing about 7000 updates per second and during bursts it would go too high for the single-threaded replication in mysql at the time to keep up with the master which would cause replication lag and all kinds of annoying things in the app. you just have to pick the right time to make the switch before it is an emergency.

Postgres setups are typically based on physical replication, which is not an option on MySQL. My testing shows the limit to be about 177k tps with each transaction consisting of 3 updates and 1 insert.

  • Be careful. During consulting I ran into similar magnitude of writes for a mostly CRUD workload.

    They had huge problems with VACUUM at high tps. Basically the database never had space to breath and cleanup.