THE MIGRATION LINE
INCIDENT // META-FACEBOOK--2013SCALED

Mark Zuckerberg downloaded memcached and installed it on Facebook's Apache web servers in August 2005 to stop page loads from crawling. By 2013, that same lineage of cache served billions of requests per second.

META (FACEBOOK)·2013·DATABASE / CACHING / MEMCACHE / INFRA·✓ Sourced — engineering.fb.com
System stress over timeBreach at T+6
single memcached, 2005Origin
1+ trillion objects/edgesSocial graph
billions of req/secThroughput
1+ billionUsers served
BEFORE

One memcached instance, downloaded off the internet

Facebook started using memcached in August 2005, when Mark Zuckerberg downloaded it from the internet and installed it on the company’s Apache web servers. At the time, page loads were slowing as database queries on every page grew larger and more numerous — providing a fast, “snappy” experience had always mattered to Facebook, and memcached, in the company’s words, “came to the rescue.”

AFTER

Billions of requests a second, on the first social network past a billion users

By 2013, Facebook’s cache infrastructure serves billions of requests per second and, in the company’s framing, “enables us to keep moving fast as we grow.” Facebook says it “wasn’t the first social network on the Internet, but it is the first one that successfully scaled to more than a billion users” — and credits its cache infrastructure as having “played a significant role in making this happen.”

THE BRIDGE

The scaling work, published rather than narrated

This post doesn’t walk through the specific engineering that closed the gap between one memcached instance and a globally distributed cache — because it isn’t meant to. It’s the announcement of a peer-reviewed paper, not the paper itself. What it commits to, in the company’s own words, is that “a tremendous amount of effort has gone into scaling our cache infrastructure to handle our extremely high request rates and ever-changing products, and memcache is a major piece of this.” That work was written up by Facebook’s memcache team and published in the 10th USENIX NSDI 2013 proceedings.

WHAT IT COST

An everyday challenge, not a closed incident

Facebook frames its three scaling challenges — graph interconnectedness, popularity-driven fan-out, and unpredictable product-driven load — in the present tense, as things the team faces “every day,” not problems that were solved once and closed out. The honest read of this post is that the cache team’s work is continuous: the same three pressures that motivated the original 2005 install were still active in 2013, just at a scale several orders of magnitude larger.

The hardest part of scaling a cache for a social graph isn’t the request volume — it’s that the data being cached is interconnected in ways that resist being split apart at all.

Source — read the original

A plain-language, AI-drafted and human-edited retelling of the article published on engineering.fb.com, reorganized and explained in our own structure and words, with original analysis in the editor's note above. The facts, numbers, and decisions belong to the original author and are not altered. For the full depth, read the source.

← All systems