Door Redactie Tweakers

Achttien jaar Tweakers

Van hobby tot volwassen technologiesite

30-09-2016 • 08:00

203

Singlepage-opmaak

DSP: Dynamic Server Pages

Om extra interessant te doen tegen de buitenwereld kreeg het cms van Tweakers de naam 'DSP' en werden pagina’s voorzien van een .dsp-suffix. De afkorting staat voor Dynamic Server Pages. Het is alleen bedoeld om het beestje bij de naam te kunnen noemen en betekent verder niets. Het cms van Tweakers wordt nog altijd DSP genoemd.

De eerste rewrite van de DSP vond halverwege het jaar 2000 plaats. Het design dat toen werd geïntroduceerd, wordt nog steeds gebruikt door enkele beheerpagina’s. Tot enkele maanden geleden vond het beheer van de benchmarkgegevens nog plaats in de oude DSP. Bij de introductie van de tweede generatie DSP werd trots gemeld dat onze php-skills gestaag waren verbeterd en de nieuwe code efficiënter, sneller en cleaner was. Ten opzichte van de nog brakkere code die daarvoor werd gebruikt, was dat zeker het geval, maar er was nog lang geen sprake van code met een universele schoonheid.

Nieuwsbericht toevoegen in DSP v1DSP2k nieuwsbericht aanpassen

Het toevoegen en bewerken van nieuwsberichten in de eerste en tweede versie van de DSP

Big Crashes

In de geschiedenis van Tweakers heeft zich een aantal 'BC's' voorgedaan. De eerste Big Crash vond plaats op 13 mei 1999, toen het forum corrupt raakte. Doordat Ultimate Bulletin Board zijn data in losse tekstbestanden bewaarde, was het herstellen minder eenvoudig dan bij een gestructureerde database. Zoals het een hobbysite betaamt, waren er geen back-ups aanwezig en dus moest het forum doodverklaard worden. Er zou nog even doorgemodderd worden met een halfbrakke inhoud, totdat de users vanaf medio juni na een tweede crash met een schone lei konden beginnen aan het hervullen van het forum. Dit was het moment waarop de oudste registraties in de huidige userbase van Tweakers plaatsvonden. Aan de hardstplakkende forumgebruikers werden cd'tjes verstrekt met de corrupte restanten van het oude forum.

Cover van Big Crash cd

De cover van de Big Crash-cd die verstrekt werd aan de forumgangers

De derde BC vond plaats op 30 mei 2001, toen door een gecrashte harde schijf alle data van de database-server verloren ging. De datadisks waren abusievelijk in raid 0 geconfigureerd, wat niet goed was voor de redundancy, en tot overmaat van ramp bleek het back-upscript een maand lang niet te hebben gefunctioneerd. Dankzij de hulp van de community kon veel redactionele content teruggehaald worden uit de lokale browsercaches.

Eigen servers

World of Tweaking en later Tweakers draaiden in eerste instantie op shared-hostingaccounts bij Pair Networks. Omdat bandbreedte nog prijzig was en de financiële middelen gering, werden alle mogelijkheden benut om het bandbreedtegebruik op het Pair-account te beperken. Inmiddels draaiden we op het grootste shared-hostingaccount bij Pair met een datalimiet van 500MB per dag. Plaatjes werden gehost op Femmes studentenaccount van de HKU en op webspace die door bezoekers beschikbaar werd gesteld.

In november 1999 werd de site verplaatst naar een dedicated server die samen met Fok werd gehuurd bij Rackspace. Ook deze server bevond zich vanwege de lagere tarieven voor dataverkeer in de VS. Er werd gekozen voor een configuratie met twee Pentium III's op 450MHz, 768MB ram en 175GB traffic per maand.

Dankzij een sponsoringdeal met Vuurwerk Internet kregen we in het voorjaar van 2000 de kans om onze hosting onder te brengen op eigen servers in Haarlem. In samenwerking met AMD en Comptech World werden twee servers samengesteld met een AMD Athlon-processor. De Athlon was sinds de zomer van 1999 op de markt en was een serieuze concurrent voor de Pentium III van Intel. Tweakers was een van de eerste sites die het aandurfde om ze in een server te stoppen. Het bouwen en configureren van de server vond plaats op het tapijt in de studentenkamer van crewlid Firefox. Meer informatie over de ontwikkeling van het serverpark van Tweakers vind je in het artikel van Kees over de hostinggeschiedenis van Tweakers.

Artemis database-server

Servers bouwen in de begintijd van Tweakers

Vroege optimalisaties

Data was schaars en de kosten waren hoog in de begintijd van Tweakers. Ook waren processors nog lang niet zo snel als tegenwoordig. Waar je nu een complexe site op een single-boardcomputer kunt hosten, was toen zwaar en duur metaal nodig om Tweakers in de lucht te houden. Een ook niet onbelangrijk aspect was de snelheid van de internetverbinding, die nog veel te wensen overliet.

Een van de technieken die werden ingezet om Tweakers sneller te maken, was het cachen van headers en footers in externe javascripts. Hierdoor hoefden de trage inbelmodems van die tijd niet bij elke pageview de terugkerende inhoud, zoals header en footer, over een telefoonverbinding naar beneden te praten. Het leidde ook tot fors minder dataverbruik op de servers, wat belangrijk was omdat dataverkeer in die tijd kostbaar was.

Om de snelheid van het renderen van pagina’s te verbeteren, werd al in een vroeg stadium gebruikgemaakt van caching van delen van de inhoud van de pagina in de database. Aanleiding daartoe was onze fameuze tracker, die al bij het eerste redesign van Tweakers, in april 1999, zijn intrede maakte. Via de tracker kon de bezoeker in real time zien wat er zoal op de site gebeurde, vergelijkbaar met de Facebook-tijdlijn, maar dan niet gepersonaliseerd. Om te voorkomen dat bij elke pageview de laatste nieuwsberichten, reviews en Pricewatch uit de database werden getrokken, werd een inhoud van de tracker pas bij een verandering op de site opnieuw gerenderd en als geheel in de database opgeslagen.

Frontpage van Tweakers in december 1999

De karakteristieke tracker links in de lay-out van Tweakers

Eind 2000 begonnen we voor het eerst met het gebruik van http-compressie om de html van pagina’s te comprimeren. Dit leverde een enorme verkleining van de omvang van pagina’s op, met gemiddeld een factor vijf.