Ajd ovako, da malo grubo teoretisemo, ne na direktnom iskustvu, vec na osnovu nekih drugih poslova koji imaju dodirnih tacaka, da dobijemo "red velicine", te da vidis o kako se ozbiljnom pitanju radi:
Baza podataka - neki klasicni, "normalizovani model" - za 1M korisnika x 1000 rekorda = 1 milijarda rekorda, nad kojom se vrsi 1500 query/s
Za ovo ti treba neko klaster rjesenje ili visestruka replikacija, gdje ces odvojiti database read request na odvojene servere. Ili neko drugo napredno rjesenje...
Ja na serveru 4x opteron 1.7/4gb rama izvucem oko 400 query/s na "poslovnom" modelu baze podataka (proizvodi, header, transakcija), sa tim da je hdd sistem spor (RAID1 2x7200rmp) i da se na njemu vrti i aplikacija (neoptimizovano, znam...).
Mysql, oko 3 GB podataka i 700 MB indexa. (oko 20 miliona rekorda)
Storage - treba ti za slike, multimediju i sl. , ako ih ne drzis u bazi (a neces):-
1milion korisnika x 20MB (ajd prosjek) = 20 terabajta = nekoliko storage servera, SAN ili sl.
Web serveri i aplikacioni serveri - mozes ih i razdvojiti, obicno idu ujednakom ili manjem broju od database servera.
evo nekoliko jeftinijih provajdera, prosjek je 50% skuplji, za menaged servere jos i vise:
http://www.hetzner.de/en/hosting/produktmatrix/rootserver-produktmatrix/Produktmatrix
http://www.serverloft.de/dedizierte-server/
Nemoj gledati jeftine hostinge koji prodaju "desktop" masine kao servere sa AMD Athlon
64.
Trazi prave servere, Xeon, Opteron i sl. masine, sa ECC memorijom, hardverskim RAID, 2x napajanje i sl.
Takodje, nisu ti serveri za sve potrebe isti.
Serveri za bazu - dosta RAM-a, brz I/O sistem (SSD ili sl? Fiber optic)
Web serveri - bitna procesorka snaga, RAM. OStalo amnje bitno.
Sad sve ovo izracunas, pa dupliras (za backup varijanre i sl), dodas protok, plate za ljude koji ce sve to podesiti i drzati pod kontrolom, a koji mogu biti vrlo skupi i dobijes 10-15 hiljada EUR-a/mjesecno ko od sale...
Ovo je, naravno vrlo grubo....