WQ/2/tech/nl

< WQ‎ | 2‎ | tech

+/-

Technische Ontwikkeling

Het grootste deel van onderstaand verslag is geschreven door James Day; het stuk over de machines in Parijs is grotendeels afkomstig van David Monniaux.
Informatie over onze servers kan te allen tijde gevonden worden op: Wikimediaservers. Developeractiviteit kan worden verdeeld in twee hoofdgebieden: serveronderhoud en ontwikkeling van de MediaWiki-software, die ook gebruikt wordt voor veel niet-Wikimedia applicaties. De meeste ontwikkelaars (hoewel niet allemaal, naar eigen keuze) zijn hier vermeld. Je kunt je waardering voor hun toewijding laten blijken door middel van een eenvoudig dankberichtje, of financiële steun. Alvast bedankt!
Tot nu toe hebben alle ontwikkelaars gratis gewerkt, maar dat kan in de toekomst veranderen om onze verbazingwekkende groei te ondersteunen.

Installation of Squid caches in FranceEdit

 
De cluster in de buurt van Paris.
Onzer servers zijn de drie in het midden:
(van boven naar onder: bleuenn, chloe, ennael.)

Op 18 december 2004 werden drie gedoneerde servers geïnstalleerd in een colocationfacilteit in Aubervilliers, een voorstad van Parijs, Frankrijk. Ze heten bleuenn, chloe en ennael, op verzoek van de donateur. Voor de technisch aangelegden: de machines zijn HP sa1100 1U servers met 640 MiB aan RAM, 20 GB ATA harde schijven, en 600 MHz Celeron processors.

De machines worden uitgerust met Squid caching software. Ze zullen een testplatform vormen voor de techniek om Web caches dichter bij de gebruikers te plaatsen om zo de latency te verminderen. Over het algemeen kunnen gebruikers met een DSL internetverbinding met een latency van 30 ms verbinding maken met deze servers, terwijl hun verbinding naar de hoofdcluster van Wikimedia in Florida er ongeveer 140 ms over doet. Het idee is dat gebruikers uit delen van Europa de Squid caches zullen gebruiken om hun toegangssnelheid naar de server met 1/10e seconde te verminderen als ze multimedia content ophalen of anonieme gebruikers zijn. Ingelogde gebruikers zullen er minder voordeel van hebben, omdat elke pagina specifief voor hen gegenereerd wordt, en ze dus niet bewaard kunnen worden voor verschillende gebruikers. Als een pagina nog niet in een Squid cache staat, of als de pagina voor een ingelogde gebruiker is, kost het de Apache web servers 1/5e tot 3 of meer seconden, plus database tijd, om de pagina te maken. Database tijd varieert van 1/20e seconde voor eenvoudige dingen tot vele seconden voor categoriën of zelfs 100 seconden voor een grote volglijst.

De Squid caches werden begin januari 2005 geactiveerd, en een proefperiode volgde. Vanaf 31 januari dienen de Squid caches Franse, Engelse en multi-media inhoud voor België, Frankrijk, Luxemburg, Zwitserland en het Verenigd Koninkrijk. Het systeem is nog ietwat experimenteel, en verwacht wordt dat de cache performance nog verder verbeterd kan worden met enkele kleine bijstellingen. De installatie van vergelijkbare clusters in andere landen wordt overwogen.

Installatie van meer servers in FloridaEdit

Half oktober 2004 werden er nog twee Dual Opteron database slave servers met zes schijven in RAID 0 en 4 GB aan ram, plus vijf 3GHz/1GB Ram Apache server besteld. Vetraging, door compatibiliteitsproblemen, die de leverancier op moest lossen voor de database servers verstuurd werden, zorgde er korte tijd voor dat de site op databasegebied wat te weinig rekenkracht had; tot begin december moest de zoekfunctie zo nu en dan uitgeschakeld worden.

In november 2004 hadden vijf webservers, vier van hen met grote geheugencapaciteit voor Memcached en Squid problemen. Dit had zo nu en dan trage Wikis tot gevolg.

Vijf 3GHz/3GB RAM servers werden begin december besteld. Vier van deze machines zullen als Squid en Memcached servers dienen om de machines die problemen hadden te vervangen, tot deze vervangen zijn. Een machine met SATAschijven in RAID 0 zullen als testplatform gebruikt worden voor een backup server. Deze machines zijn uitgerust met een nieuwe optie om stroom en systeemgezondheid op afstand bij te houden voor $60 extra. Deze optie werd voor deze machines gekozen om een vergelijking mogelijk te maken tussen deze methode van systeemmonitoring met een afstandgestuurde stekkerdoos, en meer beperkte monitoringmethodes. Deze verbetering helpt de behoefte aan plaatselijk onderhoud in het colocationgebouw te verminderen, wat soms extra kosten en vertragingen tot gevolg heeft.

Verder is er ook nog een master database server besteld, om ons in staat te stellen de database servers te splitsen in twee sets van een master met een aantal slaves, waarbij elke set de helft van de projectactiviteit bevat. Tevens zijn er nog eens vijf extra Apacheservers gepland voor het einde van het laatste kwartaal van 2004, of het begin van het eerste kwartaal van 2005. Deze laatste bestelling zal het restje van de 50.000 USD die we bij de laatste donatieronde hebben binnengehaald verbruiken. De splitsing van de database servers zal er voor zorgen dat het aantal schrijfbewerkingen dat elke set moet uitvoeren gehalveerd wordt, waardoor er meer capaciteit beschikbaar is voor leesoperaties die nodig zijn om paginaverzoeken te beantwoorden. Deze splitsing zal in de komende drie maanden plaatsvinden als de nieuwe masterserver zijn betrouwbaarheid heeft bewezen gedurende een aantal maanden dienst als database slave.

Toegenomen verkeer en connectiviteitEdit

De hoeveelheid dataverkeer nam in het derde kwartaal van 2004 toe van circa 450 verzoeken per seconde aan het begin van het kwartaal tot ongeveer 800 per seconde aan het einde van het kwartaal. In het begin van het vierde kwartaal van 2004 groeide dat aantal nog verder, waarbij tijdens piekuren de 1000 overschreden werd ([1]). Ons bandbreedtegebruik groeide van gemiddeld 32 megabits per seconde aan het begin van het seizon tot ongeveer 43 megabits per seconde aan het einde. Typische dagelijks pieken waren ongeveer 65-75 megabits per seconde, en soms werd kortstondig de limiet van 100 megabit per seconde bereikt. We gebruikten tijdelijk een duale 100 megabit connectie, een gigabit glasvezelverbinding werd geregeld, en de benodigde onderdelen besteld.