Scaling Memcache at Facebook
Networked Systems Design and Implementation, 2013 · paper · Computer science
Describes how Facebook builds and scales a distributed key-value store on memcached to support its social network. The system handles billions of requests per second and holds trillions of items for over a billion users.
Checked: PDF from usenix.org, fetched 4 Oct 2026. Page numbers are those of that PDF.
4 findings
Substance Section 6.1: "Performance for misses also increased from 2.7M to 4.5M items per second" but the Facebook-μlocks misses bar in Figure 7 ends at about the 4M gridline.
- p. 9 Section 6.1, Get Performance paragraph
Performance for misses also increased from 2.7M to 4.5M items per second
- p. 9 Figure 7, Facebook-μlocks misses bar
Facebook−μlocks
- p. 9 Section 6.1, Get Performance
Performance for misses also increased from 2.7M to 4.5M
- p. 9 Figure 7, Facebook-μlocks misses bar
Figure 7: Multiget hit and miss performance comparison
Only the authors can say what is right here.
Judge's note: On the crop, 0 is at y≈252 and 4M at y≈84, which is about 42 px per 1M. The μlocks misses bar top is at y≈82, which is about 4.05M; a 4.5M bar would end near y≈63. The other quoted values check out at the same scale: hits bar ≈1.79M (text 1.8M) and Facebook misses ≈2.69M (text 2.7M). Only the authors can say whether the text or the figure is right.
Second check: another model agreed
Report a problem with this finding
Substance Section 7.1 gives "the median (135 bytes)" response size citing Figure 10, but the Figure 10 CDF passes 50% within a few bytes of 0.
- p. 10 Section 7.1, Response size paragraph
The difference between the median (135 bytes) and the mean (954 bytes)
- p. 11 Figure 10
Figure 10: Cumulative distribution of value sizes fetched
- p. 10 Section 7.1, Response size
The difference between the median (135 bytes)
- p. 11 Figure 10
Figure 10: Cumulative distribution of value sizes
Only the authors can say what is right here.
Judge's note: On the p.11 page image, the y-axis runs from 0% at y≈332 to 100% at y≈175, and the x-axis has 0 B at x≈192 and 200 B at x≈256. The curve jumps almost vertically at about 0 bytes to roughly 55–60%, and is about 70–75% by roughly 100–135 bytes. As plotted, the median is a few bytes, not 135. The caption says 'value sizes fetched' while the text says 'response sizes', which may be different populations, but the text cites this figure. This needs an author query.
Second check: another model agreed
Report a problem with this finding
Reference or label Section 7.2 says Table 2 reports "the highest average for one month collection period" (of 4-minute averages), but the Table 2 caption reads "Traffic per server on selected memcache pools averaged over 7 days".
- p. 11 Section 7.2, first paragraph
report in Table 2 the high-est average for one month collection period
- p. 12 Table 2 caption
Traffic per server on selected memcache pools averaged over 7 days
- p. 11 Section 7.2
highest average for one month collection period
- p. 12 Table 2 caption
averaged over 7 days
Only the authors can say what is right here.
Judge's note: Both are confirmed on the images (p.11 text, p.12 caption). The two describe the same table but disagree on the window (one month vs 7 days) and on the statistic (peak of 4-minute averages vs overall average). No reconciling statement was found.
Second check: another model agreed
Report a problem with this finding
Reference or label Text cites "Dobrescu et al. [13]" but reference [13] lists "FALL, K., IANNACCONE, G., ... DOBRESCU, M., AND EGI, N." with Fall as first author.
- p. 12 Section 8 Related Work, software routers paragraph
Dobrescu et al. [13] address these issues
- p. 13 Reference [13]
FALL, K., IANNACCONE, G., MANESH, M., RATNASAMY, S., ARGYRAKI, K., DOBRESCU, M., AND EGI, N.
Only the authors can say what is right here.
Judge's note: Checked on the p.12 and p.13 images. The in-text first-author name does not match the reference entry as printed. Rests on outside knowledge: the claim that the SOSP'09 RouteBricks version was first-authored by Dobrescu, which is why the fix is left to the authors.
Second check: another model agreed
Report a problem with this finding
7 minor (typos and the like; most checked by the judge only)
Wording Text says "Figure 3 shows the average, median, and 95th percentile latencies" but Figure 3 plots only 'Average of Medians' and 'Average of 95th Percentiles'.
- p. 3 Section 3.1, right column
Figure 3 shows the average, median, and 95th percentile
- p. 3 Figure 3 x-axis groups
Average of Medians
Judge's note: Figure 3 on p.3 has two groups of bars (UDP and TCP within each). It has no separate mean-latency series. The next sentence ('standard deviation from these averages') suggests the intended meaning is 'average of the median and 95th percentile'. The comma list, however, reads as three statistics. This is a minor wording ambiguity.
Second check: another model agreed
Report a problem with this finding
Wording Figure 4 caption "Average time web requests spend waiting to be scheduled" while the legend shows only '95th Percentile' and 'Median' series.
- p. 4 Figure 4 caption and legend
Figure 4: Average time web requests spend waiting to be scheduled
Judge's note: The p.4 image shows the legend contains only median and 95th percentile. The caption says 'Average time', and the text does not say whether the per-rack percentiles were averaged. The wording is loose and ambiguous; the data are not affected.
Second check: another model agreed
Report a problem with this finding
Wording Section 4.2: "Items in category A, however, are twice as large" while Table 1 gives median value sizes of 10.7 kB (A) vs 4.34 kB (B), a ratio of about 2.5.
- p. 7 Section 4.2, last paragraph
Items in category A, however, are twice as large
- p. 7 Table 1, Median value size
10.7 kB
Judge's note: The Table 1 values on p.7 are confirmed from the image. 'Twice as large' is loose wording for a ratio of about 2.47. This is minor.
Second check: another model agreed
Report a problem with this finding
Wording Section 7.1: "there appear to be three distinct peaks at approximately 200 bytes and 600 bytes" — three peaks announced, two locations given.
- p. 10 Section 7.1, Response size paragraph
three distinct peaks at ap-proximately 200 bytes and 600 bytes
- p. 10 Section 7.1 Response size
three distinct peaks at ap-
- p. 10 7.1 Response size
there appear to be three distinct peaks at ap-proximately 200 bytes and 600 bytes
Only the authors can say what is right here.
Judge's note: The p.10 image confirms the wording. The Figure 10 CDF (p.11) shows steps near 0 bytes, about 200 bytes and about 600 bytes, so a third location near 0 may have been left out. As printed, the count and the list disagree, and only the authors can say which is intended.
Second check: another model agreed
Report a problem with this finding
Typo Section 2 'Generic cache': "It takes little effort for new services to leverage the existing marcher infrastructure" — 'marcher' should be 'memcache'.
- p. 2 Section 2, 'Generic cache' paragraph
leverage the existing marcher infrastructure
- p. 2 Generic cache paragraph
existing marcher
- p. 2 Generic cache paragraph
leverage the existing marcher
- p. 2
existing marcher infrastructure without the burden of tuning
Judge's note: The page image shows 'marcher' printed in the Generic cache paragraph on p.2. The term is not defined anywhere else, and the context is about reusing the memcache infrastructure.
Second check: none (judge only)
Report a problem with this finding
Typo Section 3.1: "each thread in the web server is allowed to directly communicate with memcached servers directly" — 'directly' is duplicated.
- p. 3 Section 3.1, Client-server communication, last paragraph of left column
allowed to directly communicate with memcached servers directly
Judge's note: The page 3 image shows the repetition in the printed text, so it is not an extraction artefact.
Second check: none (judge only)
Report a problem with this finding
Typo Reference [11]: "ACM SIGCOMM Compututer Communication Review" — 'Compututer' misspelled.
- p. 13 Reference [11]
ACM SIGCOMM Compututer Communi-cation Review
- p. 13 Reference [11]
ACM SIGCOMM Compututer Communi-
Judge's note: The crop image of reference [11] on p.13 shows the misspelling as printed.
Second check: none (judge only)