Door Kees Hoekzema

Serverbeheerder

Loadbalancing en uitbreidingen serverpark

02-08-2002 • 20:08

17 Linkedin

Zoals je al eerder hier hebt kunnen lezen is het serverbeheer en development team van Tweakers.net druk bezig met loadbalancing van de Voorgeschiedenis

Vanaf 18 juni zijn de loadbalancers actief getest. Dit werd gedaan door een gedeelte van Tweakers.net te verdelen over twee webservers, namelijk Argus en Iris. Atlas bleef ondertussen naast het loadbalancing cluster draaien door middel van DNS round robin, de methode die we in het afgelopen anderhalf jaar voor load verdeling hebben gebruikt. Tijdens de test is veel ervaring opgedaan met betrekking tot het loadbalancen van de servers. Ook kon nu uitvoerig getest worden of downtime van een server merkbare gevolgen zou hebben voor de bezoekers. De testopstelling heeft nu ruim anderhalve maand naar alle tevredenheid gedraaid en dus werd besloten om ook de overige webservers achter de loadbalancers te hangen.

Brainforce / One4Net B-100 loadbalancer

* Recente werkzaamheden

Door de GoT worden nu geheel naar werklast verdeeld over Atlas, Achelois, Iris en Argus. Dat dit geen overbodige luxe is, bleek meteen na de invoering van de nieuwe forumsoftware. De software had enkele performance problemen die nog niet eerder aan het licht waren gekomen. Deze problemen zijn vrijwel allemaal opgelost door Parse, zodat elke server weer goed meedraait in het cluster. De problemen hadden tot gevolg dat de webservers om de beurt loadgemiddelden van meer dan 10 hadden. Alleen dankzij de perfect werkende loadbalancer viel er geen enkele webserver uit. Omdat af en toe een server moest 'bijkomen' van een te hoge load was GoT bij vlagen wel erg traag. Mocht je zoiets meemaken, of een lege pagina krijgen, met de F5 toets connect je automagisch naar een nieuwe server.

* Hoe ziet de loadbalancer of een server het zwaar heeft?

De loadbalancer kan, zoals je in het andere artikel hebt kunnen lezen, adaptive loadbalancen. Dit houdt in dat de loadbalancer elke 7 seconden de servers vraagt om een getal, dit getal moet tussen de 0 en de 100 liggen (waarbij 0 = idle en 100 = overloaded). Hiervoor moest dus een script worden geschreven dat een aantal (kritieke) systeemvariables in de gaten houdt en met die gegevens een getal berekent dat vervolgens weer door de loadbalancer opgehaald kan worden. Dit script is bereikbaar via de Apache webserver. Op deze manier wordt er meteen gecontroleerd of de webserver werkt en of er geen timeout optreedt. In beide gevallen wordt de server uit de roulatie genomen tot de server weer reageert. Het script dat we op Tweakers.net gebruiken is in deze forumthread te vinden. Kort gezegd krijgt de loadbalancer een php file binnen, en zal de verdeling van de werklast aanpassen naar de load op dat moment, dit wordt elke 7 seconden gedaan.

* Zijn er ook statistieken van de loadbalancer?

Ja en nee. Er zijn statistieken, hele uitgebreide zelfs, maar deze zijn op dit moment alleen nog maar uit te lezen met een apart hiervoor geschreven programma de "GUICC" waarover je in de review al hebt kunnen lezen. Een voorbeeld van een grafiek is:


Voorbeeld grafiek (bewerkt voor de leesbaarheid)

In deze grafiek is het aantal nieuwe connecties (y-as) afgezet tegen de tijd (x-as). De blauwe lijn is de loadbalancing van de frontpage, de rode lijn eronder doet images.tweakers.net, (die onder andere de plaatjes en statische data serveert voor GoT en het Fok!Forum). De donkerblauwe lijn bijna onderaan is de loadbalancing van GoT. Totaal komen er meer dan 300 nieuwe connecties per seconde binnen.

In de toekomst gaan de loadbalancers waarschijnlijk ook SNMP ondersteunen om data uit de loadbalancers te trekken, zodra dat het geval is kun je dergelijke grafieken ook op de statspagina verwachten.

* En hoe nu verder?

Zoals je ook hier hebt kunnen lezen, draaide de publieke test van de nieuwe forumsoftware op twee nieuwe servers. Deze servers hebben hun taak volbracht en zullen voortaan deel mogen gaan uitmaken van het webservercluster. Om dit zo makkelijk mogelijk te doen worden binnenkort de harde schijven in die servers vervangen door nieuwe, voorgeconfigde schijven en zullen ook deze servers (beide AMD Athlon XP 2100+) GoT en de Frontpage gaan serveren. Ook krijgen ze een nieuwe naam geheel in de Tweakers.net traditie van serverbenamingen: Ares en Adonis, wederom 2 personages uit de griekse mythologie.

Tevens zal er een 3Com Superstack 3 3300 24 poorts switch geplaatst worden. Een tweede 3Com switch zal later geplaatst worden, zodat we eindelijk van de brakke Micronet switches af zijn.

Reacties (17)

17
17
13
3
1
0
Wijzig sortering
Volgens mij is het grootste voordeel nog wel dat bij het uitvallen of upgraden van een webserver niets omgezet hoeft te worden. Riskeren jullie met het centraal zetten van bestanden en scripts juist niet dat bepaalde fileservers heel erg kritisch geworden zijn? Of is overal een back-up voor (of heel erg fail-save servers). Overigens kan misschien nu weer eens een leuke .plan geplaatst worden over hoe het server park er nu in zijn geheel uitziet, met foto's van het kabinet, netwerk plattegrond, namen van de servers enz.
Anoniem: 56222
@Boogie2 augustus 2002 23:17
Inderdaad, stel dat jullie file server crashed, hoe vangen jullie dit op? Technische details graag!
Ik heb een behoorlijk aantal distributed filesystems geprobeert (CODA, Intermezzo, OpenAFS) en geen bood echt wat ik wil, intermezzo kwam er heel erg dicht bij, die had als enige nadeel een grote bug waardoor de replication random stopte.
In de nieuwe versie gebruiken ze zulke (domme) default axioma's dat ik na de instalatie al niet meer verder kon komen. maar nog steeds blijft het een goed idee ;)

Ik heb vervolgens dus een ranzige workaround geschreven voor NFS die inhoud dat de NFS share soft gemount word, mocht een file (die ik elke paar seconden lees) niet meer bereikbaar zijn dan switch ik over naar een andere server die met rsync wordt gesynchroniseert met de master server.

Als je hard NFS mounts gebruikt (veiliger voor je data als je net aan het schrijven bent) dan is dit niet mogelijk, vandaar dat ik heb gekozen voor soft NFS mounts. Dit heeft dus als nadeel dat, als er een image wordt upgeload of een usericon en de server crasht, dan is het 1 niet op de slave server en 2. niet op de master server als je pech hebt, dus moet je het opnieuw uploaden, deze nadelen vond ik verwaarlossbaar, en gezien het ontbreken van enig ander alternatief ben ik voor NFS gegaan met een eigen geschreven failover script (NFS failover voor linux ben ik nog niet tegengekomen, voor Solaris is het er wel).
Anoniem: 56222
@Kees2 augustus 2002 23:54
Nog een vraagje dan:

Welke elementen van de OS link je en welke laat je local ophalen?

links:
Library's?
bins?

local:
/proc
/dev
/etc
/var

En nog een ding, sinds jullie load balancers gebruiken kom ik via mijn ip: 213.84.40.1xx(xs4all) niet meer op tweakers of fokzine, ik kan jullie ook niet pingen. Dat kan ik wel als ik de proxy van xs4all gebruik. Hoe kan dat?
Het OS gedeelte en alle programs laad ik zo veel mogelijk vanaf de server.

alleen de webfiles komen vanaf de NFS share.
Heb'k hierboven alles goed gelezen als'k zeg dat alle servers voortaan zowel got als de frontpage serveren? Of moet'k nóg een keer alles eens lezen? :) Enneeuh.. brakke micronet switches? Hoezo brak? uitvallen? Packetloss? Als je iets afbreekt dat met feiten erbij doen jongens :).
Feiten:
http://www.tweakers.net/plan/154#3

nummer 2 & 3 gaan over die switch die door spontaan uitvallen na een jaar de servers bijna onbereikbaar maakte.
Anoniem: 18862
2 augustus 2002 22:16
En hoe wordt Fok dan geserveerd?
En zoals mboogie2 al zegt pics; specs :)
Daar ben ik ook wel beniewd naar, heb namelijk altijd het idee dat de laadtijd langer is van FOK.. maar dat zal wel aan mij liggen :?
Fok wordt nog vanaf 2 webservers en 1 aparte database server geserveerd, en zal voorlopig nog niet onder het loadbalance gedeelte komen.
Anoniem: 19331
4 augustus 2002 00:57
Het is natuurlijk altijd stoer om te lezen dat het serverpark word uitgebreid, maar na een tijdje ben ik altijd weer de draad kwijt :(
Een tijdje geleden vond ik ergens een plaatje met hoe het serverpark eruit zag.
mischien leuk om die bij een volgende verandering er bij te plaatsen, dus dan de server naam, specs, wat ze doen, os versies enzow..

Nou ja, dat vind ik iig ;)
De link naar de pagina met alle serverspecs is in het artikel te vinden: http://www.tweakers.net/reviews/269 .
Anoniem: 20155
2 augustus 2002 23:34
JE zit ook niet echt te wachten op de 3com switch. Deze is nogal slecht. Je kunt beter een nemen die je kunt instellen want auto sensing word je niet vrolijk. Gewoon een tip :) Je kunt natuurlijk wel een andere switch van 3com nemen, alleen dit type niet!!!!
gegeven paarden moet je niet in de bek kijken ;)

ik ben, met wat iknu er van gezien heb best tevreden, het is iig beter dan de vorige switch waarbij het vrijwel onmogelijk was enige managment taken uit te voeren (door brakke software in de switch).

Verder ben ik over de 3com support afdeling (ja ik heb ze al benaderd) meer tevreden dan over Micronet, waar ik nog nooit een antwoord van heb gehad. 3com reageerde iig binnen een dag.
Is dit een flame ?

Aan een superstack kan je alles instellen wat je in een server netwerkje maar zou willen.
Net als elk merk, heeft ook 3Com betere en slechter producten. Waar de switch in kwestie onder valt weet ik niet, maar het zal vast goed werken.

Het is ook persoonlijke voorkeur wat je normaliter kiest, als je ergens goede ervaringen mee hebt, waarom zou je dan anders nemen?

En zoals Kees terecht zegt, een gegeven paard kijkt men niet in de bek :D

Er zijn zat andere merken die hetzelfde prima zouden kunnen, deze 3Com is er voor gemaakt dus zal ook de taken goed/beter op zich nemen ;)
[mierenneukmode]
Typo : tradite
bij hoe nu verder....
[/mierenneukmode]

Ziet er wel goed uit. Maar betekent dit dat de servers waar boa op staat ook uiteindelijk geloadbalaced worden???

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee