PDA

Bekijk Volledige Versie : Server configuraties



thrunx
22/04/08, 12:51
Hoi allemaal,

Ik ben op dit moment aan het kijken naar een hosting oplossing voor een website. De website is zo groot dat hij eigen servers nodig zal hebben. De website moet tijdens de piek zo'n 25.000 tot 50.000 bezoekers per dag aankunnen. Elke bezoeker zal gemiddeld zo'n 6 pagina's bekijken en 1 video (paar minuten). De piek duurt zo'n 2 maanden, de rest van het jaar kunnen ze makkelijk af met 1 server op dit moment (plesk, incl. mysql+web+mail).

Wat adviseren jullie? Ik hoor verschillende geluiden...

Het ene bedrijf adviseert met loadbalancers te werken, meerdere switches, meerdere webservers en eventueel meerdere mysql servers. De specs van deze servers zijn:
Loadbalancer:
- Intel Celeron 331 2,66GHz 533mhz S775
- 2 x 256 MB DDR2-533
- 2 x 80Gb SATA2
Web:
- Dell R300 Quad-Core Xeon L5410 2.3GHz/2x6MB 1333FSB (1U)
- 2 x 160 GB SATA 7.2K 3.5 inch Hard Drive (Hotplug HDD)
- 2GB 667MHz FBD (2x1GB dual rank DIMMs)
MySQL:
- Dell R300 Quad-Core Xeon E5335 2.0GHz/2x4MB 1333FSB (2U)
- 2 x 146 GB SAS 15K 3.5 inch Hard Drive
- 4GB 667MHz FBD (2x2GB dual rank DIMMs)

Terwijl een ander bedrijf adviseert normaal gesproken 1 webserver + 1 mysql server te plaatsen (beide AMD Opteron DUAL CORE 2214HE 2,2 Ghz 64 Bit / 4 GB geheugen). Tijdens de 2 piekmaanden wordt dan een extra webserver bijgeplaatst met dezelfde specs. Hierbij wordt de load verdeelt via de DNS, omdat ze aangeven dat een loadbalancer pas interessant wordt vanaf een stuk of 5 servers.

Wat vinden jullie?

Groeten,
Steven

Ramoonus
22/04/08, 13:07
sinds wanneer heb jij bij 1 server een loadbalancer nodig?

SF-Jeroen
22/04/08, 13:14
Waar staat dat het om 1 server gaat?

Ik zou voor de eerste optie gaan, met de loadbalancer, paar webservers en SQL server

Ryan Kalkhoven
22/04/08, 13:22
Waar je ook zeker naar moet kijken is de beschikbaarheid. Hoe belangrijk is de beschikbaarheid gedurende die twee maanden.
Uiteraard ga je er standaard vanuit dat dit altijd beschikbaar moet zijn, maar veelal bepaald de kostenpost (indien niet beschikbaar) wat voor oplossing er gekozen gaat worden.
Gaat het namelijk om flinke imago schade of veel geld als er bijv een keer een uur geen website te zien is als gevolg van flinke belasting of andere problemen. Indien dat het geval is ga je eerder voor redundante server oplossing die dmv load balancers en een beschikbaarheids controle hoge beschikbaarheid behaald.

Overigens is de opbouw en techniek van de website ook een belangrijk punt voor een dergelijk oplossing. Gaat het namelijk om een website die bijv. maar 1 maal per dag beperkte aanpassingen te verwerken krijgt dan kun je daar een hele andere oplossing voor neerzetten dan voor een dynamische omgeving.

Kortom om dergelijke oplossingen te beoordelen of voor te stellen is veel meer informatie nodig.

thrunx
23/04/08, 08:40
Het gaat om een dynamischere website. Er moeten ook door bezoekers reacties geplaatst kunnen worden bij artikelen etc. De beschikbaarheid is erg belangrijk, daar wordt dan ook budget voor uitgetrokken.

Load verdelen door de DNS en tijdens de piek 2 webservers en 1 mysql server is dus te licht, liever een load balancer erbij?

Ryan Kalkhoven
23/04/08, 09:32
Het gaat om een dynamischere website. Er moeten ook door bezoekers reacties geplaatst kunnen worden bij artikelen etc. De beschikbaarheid is erg belangrijk, daar wordt dan ook budget voor uitgetrokken.

Load verdelen door de DNS en tijdens de piek 2 webservers en 1 mysql server is dus te licht, liever een load balancer erbij?

Mijn idee is om zo min mogelijk via de dns te dirigeren. Probleem bij dns is dat bepaalde zaken niet direct verwerkt worden.
Het voordeel van een load balancer is dat er direct actie ondernomen wordt indien nodig. Je geeft overigens aan dat beschikbaarheid een belangrijk punt is. Mocht je dan kiezen voor een loadbalancer, kies er dan minimaal twee. Het creƫren van een SPF is killing voor hoge beschikbaarheid.
Indien je kiest voor een volledig redundante oplossing kun je er ook voor kiezen om deze redundant te plaatsen over twee datacentra.

Hierboven schets je een situatie met 1 sql server (wederom een SPF) en twee webservers. Wellicht is het een mogelijkheid om in een huidige situatie te analyseren waar de grootste belasting zit. Wellicht kun je uit met een 'lichte' webserver die makkelijk schaalbaar is (een goede mogelijkheid indien alle dynamische data in een DB wordt opgeslagen) en met twee of meer krachtige sql servers.

Maar nogmaals. Een goede oplossing/mogelijkheid kan niet gegeven worden zonder dat de structuren en de belasting van de website en de onderdelen ervan bekend zijn. En uiteraard de wens van de bescikbaarheid (waar je al een tipje van de sluier had opgelicht).

thrunx
23/04/08, 12:37
Bedankt voor je uitgebreide uitleg, ik ga me er nog weer wat meer in verdiepen! :)

Mark17
24/04/08, 14:59
Wat ook nog een optie zou kunnen zijn (afhankelijk van de vereiste snelheids update van de database):
naar een database schrijven gebeurd naar mysql server1 en als die uitvalt naar mysql server2
deze mysql servers updaten meerdere slaves
lezen vanaf de mysql servers gebeurd altijd op 1 van de slaves (valst slave1 uit pak je slave2 of slave3 bijvoorbeeld)
meerdere webservers waar alle php bestanden en dergelijke opstaan
2 fileservers voor de afbeeldingen (rsync om te synchroniseren bijvoorbeeld)
2 loadbalancers ervoor
dns servers in meerdere netwerken
meerdere mailservers
een dergelijke setup komt het dichtste bij optie 1 en is eigenlijk wel vereist voor echt hoge uptime (bijvoorkeur nog verspreid over 2 datacentra). mocht hier niet het budget voor zijn kan altijd gekeken worden waar bespaard kan worden (eventueel door virtualiseren of bepaalde zaken samen te voegen)