If been asked many times about the size of Facebook’s infrastructure. Folks love to get a gauge of how much hardware/bandwidth is required to run high trafficked sites.
Here’s a recent report of the set up. Read the details there. In short, 30,000 or so servers with tons of optimizations to networking, mysql, PHP, web server, and lots and lots of caching.
There’s an interesting point here. 30,000 servers to handle 300 million registers users and their 200 billion pageviews a month. That puts about 7 million pageviews per server. Almost every company I have worked with as WAY over built hardware and infrastructure. I’ve seen people deploy new servers for every 100,000 pageviews per month. Modern web servers and dbs, with the right set up, can handle far more load than most webmasters and IT folks realize.
One subtle point that’s hard to figure out from this data… the amount of compute/CPU time/power required to parse the metrics for this site. Beyond serving the site up there’s a considerable amount of business intelligence to work through. Logging and log parsing, without even the analysis part, has got to be a major effort not accounted for in these infrastructure details.