>>
29-november-2020, min. leestijd

Performance monitoring tijdens Black Friday 2020

Black Friday, Cyber Monday of zelfs Black Week. In de afgelopen jaren is Black Friday veranderd van één dag naar een hele week vol aanbiedingen. Iedereen stelt zijn aankopen uit tot deze week. Tijdens de Black Week bezoeken met z'n allen massaal de webshops om een leuke Black Friday deal te kunnen scoren.

Voor de webshops is het ieder jaar een grote uitdaging om deze toestroom aan mensen te bedienen, zowel logistiek als op IT-gebied. Vorig jaar werd dat pijnlijk duidelijk en zagen wij diverse webshops gedurende de Black Week kampen met performance problemen. Dit viel ons op bij het monitoren van grote webshops tijdens de Black Friday. Over de resultaten van deze metingen publiceerden wij een artikel op Twinkle (2019).

Ook dit jaar ging ons performance-hartje sneller kloppen in aanloop naar Black Friday en hebben we performance monitoring op de 25 grootste webshops -waaronder de Twinkle Top 10- ingericht om te kijken hoe zij presteerden tijdens Black Friday. Ben je benieuwd welke webshop de grote winnaar van 2020 is? Lees de resultaten van de performance monitoring ook dit jaar in een artikel op Twinkle (2020).

Achtergrond Black Friday-onderzoek

We zijn in eerste instantie met de metingen rondom Black Friday gestart om de e-commerce wereld een steuntje in de rug te geven tijdens hectische periode met hoge online bezoekersaantallen. Aan klanten hebben we onze synthetische monitoring gratis aangeboden tijdens deze periode. Toen we een aantal weken voor Black Friday bezig waren met het inrichten van de monitoring voor klanten kregen we al snel de eerste signalen van webshops die performance problemen hadden. We besloten de scope uit te breiden om meerdere webshops te kunnen vergelijken, omdat we benieuwd waren of die dezelfde performance problemen hadden.

Uiteindelijk hebben we 25 grote webshops in de weken rondom Black Friday gevolgd op het gebied van online performance. Opvallende punten die uit de metingen naar voren kwamen hebben we beschreven, net als de ranking van de webshops op gemiddelde responstijden. Gezien de grote belangstelling naar deze ranking van de verschillende webshops tijdens Black Friday 2019 was de keuze snel gemaakt om tijdens Black Friday 2020 opnieuw performance metingen uit te voeren.

Gebruikte tooling

Om de synthetische monitoring van de webshops tijdens Black Friday te kunnen realiseren hebben we ook dit jaar gebruikgemaakt van de combinatie van de verschillende tools Marvin_ en Openrunner.

  • Marvin_ | rapportage en dashboard

Marvin_ is de tool die voorziet in rapportage en dashboard over de uitgevoerde metingen. Marvin_ loopt iedere aantal minuten de kritieke klikpaden door om de performance en beschikbaarheid te meten van de applicatie. Mocht er iets buiten een grenswaarde vallen, kan Marvin_ je direct signaleren per email of SMS met de betreffende foutmelding en waar deze zich voor doet. Veel van onze klanten gebruiken deze tool om hun systemen 24/7 te monitoren. Het voordeel van deze actieve monitoring is dat de applicatie wordt bekeken vanuit de klantbeleving en dus echt inzicht geeft in wat de klant 'ziet'.

Black Friday 2020.png
  • Openrunner | simuleren gebruikers

Openrunner is de tool die wij gebruiken om klantgedrag te simuleren en klikpaden af te lopen. Door een script te programmeren kunnen we gebruikershandelingen in de browser simuleren vanuit een desktop omgeving. Openrunner rapporteert aan Marvin_ de laadtijd en beschikbaarheid van de pagina’s, Marvin_ verzorgt het dashboard en de rapportages op basis van deze metrieken. Openrunner maakt vooralsnog gebruik van Firefox Nightly en is een browser extensie, maar kan ook vanuit de commandline uitgevoerd worden voor DevOps integratie. De scripts worden geprogrammeerd met JavaScript en is dus voor veel front-end developers makkelijk in te richten.

Meetpunten

Het inrichten van meetpunten is het daadwerkelijk programmeren van scripts met Openrunner. Om een goede onderlinge vergelijking te kunnen maken kiezen we ervoor 2 pagina’s te meten die iedere webshop heeft: de homepagina en de Black Friday-pagina. Dit doen we met een interval van 5 minuten. Ook is onze aanname dat de meeste bezoekers al eerder op de website zijn geweest, dus simuleren we een terugkerende gebruiker die de cookiemelding heeft geaccepteerd en waarbij de cache gevuld.

Dit doen we door feitelijk eerst naar de homepagina te gaan, de cookiemelding te accepteren en daarna opnieuw de homepagina aan te roepen. Deze laatste aanroep is het meetpunt dat gebruikt wordt voor de metingen. De metingen worden verricht vanuit een datacenter in Amsterdam. Om zo weinig mogelijk invloeden van buitenaf te hebben gebruiken we een vaste internetverbinding.

Dan is de grote vraag, wat is je controlepunt/wanneer is een meting klaar en succesvol? Dit is iets waarover te speculeren valt en aangezien dat per webshop kan verschillen maken we deze controlepunten ook op maat. We kijken naast het DocumentComplete event, naar specifieke elementen op het scherm (boven de fold) en checken hierop door middel van CSS selectoren.

Voorbeeld: In het geval van Albert Heijn bestaat de Black Friday-pagina grotendeels uit een banner en 4 producten boven de fold. Aan deze elementen op het scherm hangen CSS selectors. Wij controleren of deze aanwezig en displayed zijn (isDisplayed). Wanneer dit het geval is wordt de responstijd teruggekoppeld.

Black Friday 2020.png

Vanuit het script ziet dit er op deze manier uit:

Black Friday 2020.png

Sommige webpagina’s tonen producten, andere weer enkel banners. Om de metingen zo eerlijk en representatief mogelijk te maken richten we deze controlepunten dus per webshop specifiek in.

  • Dit jaar hebben we een nieuwe ranking toegevoegd: de stabiliteitsscore. Deze score geeft weer hoe stabiel de gemiddelde responstijd van homepagina en Black Friday-pagina was. We hebben deze score toegevoegd omdat sommige webshops er bewust voor kiezen om veel content op hun website te plaatsen. De vele content heeft een negatieve invloed heeft op de responstijd. Echter is het mogelijk dat ze wel stabiel deze responstijd halen en dat is in onze ogen ook veel waard. We bepalen de stabiliteitsscore aan de hand van de behaalde 95 percentiel - mediaan = stabiliteitsscore.

Performance monitoring in de toekomst

We willen in de toekomst de monitoring uitbreiden naar bijvoorbeeld een variatie aan webbrowsers en ook mobile devices of API metingen meenemen in het onderzoek. Daarnaast is het een mooie aanvulling om ook echt de 'load' op de websites naast onze gegevens te hebben. Marvin_ heeft de mogelijkheid om gegevens van Google Analytics in het dashboard te tonen. Hiermee kun je de relatie tussen load en responstijd in kaart brengen. Helaas hebben wij nu geen toegang tot deze gegevens bij alle 25 verschillende webshops. Ook is het idee ontstaan om geautomatiseerde Lighthouse audits te verrichten, zodat we meer inzicht krijgen in waar de pijnpunten liggen en direct adviezen kunnen geven.


Als performance specialisten bij Computest vonden wij het monitoren van de grote webshops tijdens Black Friday ook dit jaar weer erg leuk en leerzaam. Tot Black Friday 2021!

Deze website werkt het beste met JavaScript ingeschakeld