09 maart 2008

Van Papier naar digitaal, met de tijd mee!

Mededeling: De performance van de VPND-website is de laatste tijd niet goed. Dit komt enerzijds door een groeiende populariteit van de website; anderzijds is er een technisch probleem waardoor de response sterk fluctueert. Naar de oorzaak van het probleem wordt gezocht. Excuses voor het ongemak: u helpt uzelf en anderen door zoveel mogelijk de populaire bezoektijden (tussen 18-23 uur) te mijden.

Sinds enige tijd prijkt bovenstaande melding op de startpagina van de Van Papier naar Digitaal (VPND) website. VPND is een initiatief van Hans den Braber en Herman de Wit
ter bevordering van het online brengen van genealogisch bronmateriaal. Het is een website met gescande (en getranscribeerde) bronnen uit heel Nederland. Een zeer lovenswaardig initiatief! Qua inhoud is het een belangrijke en nuttige website voor stamboomonderzoekers, echter, qua techniek en gebruikersvriendelijkheid lijkt op deze website de tijd stil te staan...

In dit artikel geef ik advies op het gebied van techniek en "outsourcing" om de performance van VPND te verbeteren. De tips zijn generiek, dus ook andere website eigenaren zijn er bij gebaat! Advies omtrent functionaliteit en organisatie inzake VPND bewaar ik voor een volgend artikel.

Bandbreedte

VPND herbergt erg veel content, informatie pagina's (HTML), ondersteunende plaatjes en een zeer grote berg PDF bestanden. Hoe meer bezoekers hoe meer data er door de webserver van VPND geserveerd moet worden. Zowel de 'Internet-pijpleiding' als de webserver heeft hier problemen mee, wat de snelheid van de website voor bezoekers ernstig doet afnemen, en dat wordt alleen maar erger als er niets gebeurd ...

Even een voorbeeld: de pagina met bronnen uit Weerselo is een HTML pagina van 137.284 bytes met een tweetal afbeeldingen (banner-digi-project_nl.gif van 5.146 en BMgrijs.jpg van 1.830 bytes), een totaal van 144.260 bytes voor één pagina! Over de download tijd heb ik het nu maar even niet, die is dramatisch.

Met een tweetal eenvoudige technieken kunnen we dit met een factor 20 verbeteren (dus terugbrengen naar 7.254 bytes)!

Compressie

Ten eerste is HTML uitermate geschikt om te comprimeren. In het Internet protocol (HTTP) zijn hier afspraken over gemaakt: als de browser aangeeft dat deze content compression (in de vorm van bijvoorbeeld gzip) aankan - en dat doet/kan iedere moderne brower - dan kan de webserver gecomprimeerde content naar de webbrowser sturen. Dit is overigens volledig transparant voor de bezoeker! Voor het HTML van 144.260 bytes hoeft er ineens in GZIP vorm maar 7.254 bytes verstuurd te worden. De VPND website draait op Apache, dus de HTTP compressie is een kwestie van configureren van mod_gzip (net als Apache is deze extra module uiteraard gratis)!

Caching

Een tweede verbeterpunt ligt op het punt van caching. Waarom zouden de plaatjes op VPND bij elke pagina opnieuw van server naar browser worden gestuurd, deze zijn steeds hetzelfde!? Dit geldt tot op zekere hoogte overigens ook voor de HTML pagina (die wijzigt toch niet elk uur?). Met enkele simpele regels configuratie kan de webserver aan de browsers aangeven dat de gedownloade content "onthouden" (gecached) kan worden, oftewel Server Side Cache Control. Wanneer bijvoorbeeld de plaatjes dus éénmalig zijn geladen door de browser hoeft het bij de volgende pagina waar de plaatjes in zitten niet weer geladen te worden. Weer 6.976 per pagina bespaard aan bandbreedte!

Outsourcing, het grote werk

Het bulk van de bandbreedte wordt "verbrand" door de PDF bestanden, het "vloeibare goud" van VPND. Op dit moment worden al deze documenten door VPND zelf gehost, maar waarom dit niet "outsourcen", oftewel uitbesteden aan een andere internet service?

Hieronder een voorbeeld van een PDF bestand van Genealogie Online:




Scribd is een soort YouTube voor documenten, waaronder PDF documenten. Naast de opslag van de documenten bij Scribd leveren zij tools (zoals hierboven) om de documenten te "embedden" en te bekijken (zonder de noodzaak van bijvoorbeeld Adobe Reader). Scribd biedt een platform die het mogelijk maakt om hun technologie, wederom gratis, te gebruiken op de eigen website. Op Genealogie Online worden alle PDF document op deze manier gepresenteerd, zie bijvoorbeeld het Genealogische woordenboek (van André Dumont). Dus in plaats van een PDF document van 5 megabytes dat elke keer van de VPND website gehaald moet worden hoeft het bij gebruik van Scribd op VPND slechts één keer te gebeuren (door Scribd) en daarna voor alle gebruikers niet meer (de PDF document komen dan van Scribd!). Op alleen de Weerselo pagina staat al 540 MB aan PDF: reken uit je winst in bandbreedte als je de PDF hosting uitbesteed!

Conclusie

Je kan - in het algemeen - natuurlijk een snellere server neerzetten voor de webserver en meer bandbreedte bij de ISP afnemen, maar bovenstaande maatregelen zijn gratis en leveren veel, veel meer snelheidswinst op!