- 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
- 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.
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?