How Facebook Scales

By Deane Barker on June 20, 2010

Exploring the software behind Facebook, the world’s largest site: Interesting details on how they make Facebook scale.

Facebook still uses PHP, but it has built a compiler for it so it can be turned into native code on its web servers, thus boosting performance.

[…] Facebook uses Linux, but has optimized it for its own purposes (especially in terms of network throughput).

[…] Facebook uses MySQL, but primarily as a key-value persistent storage, moving joins and logic onto the web servers since optimizations are easier to perform there (on the “other side” of the Memcached layer).

I thought this was interesting too:

Gatekeeper also lets Facebook do something called “dark launches”, which is to activate elements of a certain feature behind the scenes before it goes live (without users noticing since there will be no corresponding UI elements). This acts as a real-world stress test and helps expose bottlenecks and other problem areas before a feature is officially launched. Dark launches are usually done two weeks before the actual launch.