Forum Moderators: phranque
There's no hard and fast rule about number of servers or bandwidth.
With that many visitors (more than Google it seems) I'd suggest a dozen top of the line servers, mirrored around the world.
Bandwidth really only relates to the size of page you are sending.
1 - what DB will you use
2 - how will you optimize SQL queries
3 - what kind of CPU
4 - what kind of disks
5 - RAM
6 - how many SQL queries per user? it is different if you have one or 100... much different!
etc. many many things.
I can tell you I have a website with 10.000+ visitors per day, approx 20. SQL queries per user and it is handled by one dual CPU, 2GB ram, SCSI disk. Anything more than that, the server wouldnt be able to handle it. It is already at 90% of resources at spikes.
If you are going to have millions of users daily, you dont even think of starting something with 1 2 3 servers because your site will be more offline that online. You must build a really strong structure with load balancers and more servers. How many? I have no idea but I have a friend who runs a news site, around 100.000 visitors per day and they have 2 servers for the DB + 4 servers for the website.
Probably traffic will increase over time - you will be able to see what is happening and you will add more servers later. If you start with 10 millions per day then you are in trouble.
My question is: how are you going to get 10+ mio visitors from the start? It's *almost* impossible (and that's good for you ;)
why not a combination of Dual Xeons with Raid for the MySQL; and P4s as Webservers & Image servers? Even Celerons for the imageservers.
Most IMPORTANT, use a caching engine for the PHP. And buid it all in PHP4. [webmasterworld.com]