Eric Hodel posted their production website server setup over at the Robot Coop that handled 2.5M page views in a day not too long ago. I love this kind of information because it helps me get a feel for how we’re doing. At GreatSchools we serve around 900,000-980,000 page views on an average weekday, our record day was a bit above 3M page views, and siege load testing puts our cap around 4400 page views per minute.
The great thing about using siege is that we extract the load test from our access logs so that we can simulate real conditions. We size the hardware based on running at around 25% of our capacity on an average weekday which usually gives us just enough breathing room to handle a front page feature on Yahoo or AOL when those happen.
Like Robot Coop we’re a FreeBSD shop but with older servers and we’re still evaluating FreeBSD 6 before upgrading all our machines from 4.11. I’m looking forward to doing some load testing with FreeBSD 6 to see if it’s much improved multi-threading support boosts our capacity! Without further ado, here’s our setup:
1. Web servers: 10 of varying hardware but I’d guess they average out to about a 2 Ghz dual Xeon. Each server has 1GB each running Apache/mod_perl/mod_jk/Tomcat.
2. Databases: 3 MySQL servers consisting of 1 read write primary (Dual 2.8 Xeon/2GB) and 2 read-only replicated slaves where we can manually failover if the read write primary fails.
3. Proxy servers: 3 Oops proxy servers to cache images and CSS (overkill).
4. File server: 1 NFS file server with a warm standby that is kept in synch.
5. Load balancers: 2 hot failover hardware load balancers.
If you know the setup of other sites or have seen one posted somewhere let me know, I’m always looking to see what other setups look like.