Facebook Information

Facebook Facts

  • Generating a Facebook Page: email from Bob English (4/2/2010)
  • Server configuration as of 3/24/2009:
    • 15000 Web servers running PHP (business logic, presentation)
    • 2000 memcache servers handling 50M queries/sec. (they claim up to 200K requests/sec/box)
    • 4000 database servers handle a total of 1M requests/sec.
    • 64GB RAM on each memcache server.
    • 600 nodes in a Hadoop cluster for data analysis
  • Memcache RPC latency:
    • Server takes 70us to turn around data
    • Total latency 200us within a rack, 400-500us across datacenter
  • Page rendering time: 300-400ms of CPU time on the Web server
  • Code base: 2-3 million lines of PHP code in the front end
  • Database:
    • Total size, not including photos: 200TB
    • Database servers have enough memory to cache half of the total data
  • Each database server:
    • 8 2.5in discs
    • 1000 requests/sec.
  • Photo data:
    • About 1PB total, as of 3/24/2009.
    • Maximum size for individual photo: 64-128KB.
    • As of 8/2008, they were getting 24M photo uploads/day.

Questions

Here are additional things we would like to know about Facebook:

  • Of the 1M requests/sec to the database servers, how many of those are updates?
  • What is the average payload size of a get/set request to Memcached?
  • Hit ratio?