In de bovenstaande grafiek kan je zien dat de laadtijd van een pagina steeds trager werd, naarmate er meer simultane bezoekers waren tijdens een promo-mailing. Na enige tijd werd de webserver unresponsive en kregen de bezoekers een time-out te zien. De laadtijd van pagina's liep op tot 120 seconden.
We hebben toen met ons team van ontwikkelaars drie mogelijke oplossingen naar voren geschoven:
Nieuwsbrieven spreiden in de tijd
Een eerste optie was om de nieuwsbrieven te spreiden in de tijd. Zo zou men elk uur 1000 nieuwsbrieven kunnen sturen in plaats van ineens naar de 12.000 ontvangers te sturen. Het nadeel van deze optie was dat de eerste 1000 ontvangers sterk bevoordeeld zouden zijn bij een promotie-verkoop. Immers iedereen wil wel als eerste ingaan op een koopje met een beperkte voorraad, maar tegen dat de laatste zijn bericht in de inbox ontvangt zou de promotie al afgelopen zijn. Deze oplossing hebben we niet gekozen.
Zwaardere webserver
De tweede, en meest voor de hand liggende oplossing zou zijn om een zwaardere webserver te huren. Echter bij deze oplossing hoort een ander nadeel: onze klant La Buena Vida zou maandelijks meer moeten betalen voor een zwaardere hosting, terwijl de bezoekerspieken zich slechts 2 keer per week voordoen (tijdens het uitsturen van de promoties). Daarom werd deze oplossing ook niet weerhouden.
Doorgedreven caching inbouwen
En wij zouden niet Analyz-it zijn, moesten we niet verder zoeken naar een goedkopere en meer definitieve oplossing. Dat is de derde optie geworden: De programmatiecode aanpassen om een doorgedreven caching-mechanisme in te bouwen.
Om het in niet-technische termen te zeggen: we hebben een methode ontwikkeld waarbij de gegevens van de getoonde wijnen (vb prijs, voorraad, foto's, etc...) al op voorhand uitgerekend zijn, in tegenstelling tot het real-time berekenen van gegevens voor elke bezoeker en elke pagina apart. Vooraf berekende gegevens bewaren in het geheugen - de cache - geeft een enorme snelheidswinst bij veel website bezoekers. Want in plaats dat de webserver steeds trager wordt door meer berekeningen van meer bezoekers, blijft deze nu even snel. Alle berekeningen zijn immers op voorhand gebeurd.