One WhatsApp server held 2 million connections, 42% idle
transcript
One WhatsApp server. Over 2 million open connections. And its CPU was still about 42 percent idle.
A messaging app lives on open connections. Devices to servers. So how many can one machine hold?
WhatsApp's answer, a few months earlier: 1 million. Then 6 January 2012. A new post: 1 million is so 2011. Plenty to spare. CPU 41.9 percent idle. 27 gigabytes of memory free.
Every device holds a connection open to the server. The box: 24 CPUs, about 100 gigabytes of memory. FreeBSD 8.2. Tuned limits: 2.4 million sockets. 3 million open files. And the last important piece, the post said: Erlang.
Two years later, Facebook announced it would buy WhatsApp. For about 16 billion dollars.
Over 450 million people used it each month. The team? Only 32 engineers, wrote their investor, Sequoia. One developer for every 14 million active users.
What one machine can do sets how many machines you need. And people. Know your limits. Tune the OS. Pick tools built for connections.
Full breakdown in the lecture.