Redactie - 04 januari 2017

De Apdex, wat is het en wat kun je ermee?

Niets is zo vervelend als een bedrijfsapplicatie die traag is of vastloopt. Irritaties op de werkvloer en irritaties met de klant; applicaties moeten gewoon snel en beschikbaar zijn. Veel organisaties monitoren daarom actief de performance van hun belangrijkste applicaties en kunnen tijdig acteren wanneer de performance verslechtert. Maar hoe weet je of de responstijden goed genoeg zijn? Met welke responstijden is een eindgebruiker eigenlijk tevreden? En bij welke responstijden draagt IT optimaal bij aan businessdoelen? Met de Apdex worden responstijden geïndexeerd waardoor ze inzichtelijk en bruikbaar worden.

Contextafhankelijk
Het antwoord op vragen over de wenselijke performance van applicaties is helaas niet eenduidig. Voor sommige applicaties geldt dat de technisch hoogst haalbare prestatie rond de acht seconden ligt waarbij dit in de beleving van de eindgebruiker prima is. Terwijl een andere applicatie er niet langer dan drie seconden over mag doen, omdat anders de eindgebruiker gaat klagen en er zelfs geld verloren gaat. Bijvoorbeeld: wanneer het inloggen bij een webshop langer duurt dan drie seconden, haakt bijna de helft van de consumenten af. Dit in tegenstelling tot één keer per dag inloggen op een VDI-omgeving. Hier wordt veel minder performance van geëist. Kortom: goede responstijden zijn afhankelijk van hun context. Met de Apdex kun je deze context kwantificeren en kwalificeren.

Wat is de Apdex?
De Apdex (Application Performance Index) is een open industriestandaard voor het indexeren van performance. Meerdere organisaties hebben binnen de ‘Apdex Alliance’ gezamenlijk een formule ontwikkeld op basis waarvan de indexatie plaats vindt. Het idee achter de Apdex is te kunnen meten of responstijden voldoen aan de verwachting van de eindgebruiker, de business of de IT-manager. Deze verwachtingen moeten worden gedefinieerd en worden omgezet naar grenswaarden binnen de formule.

Hoe werkt het?
Binnen de Apdex formule worden responstijden verdeeld over drie bandbreedtes: ‘satisfied’, ‘tolerated’ en ‘frustrated’. Bijvoorbeeld:

Duurt het inloggen op applicatie X maximaal 4 seconden? Dan wordt die meting als ‘satisfied’ gemarkeerd en krijgt de meting een waarde van 1 punt. Duurt het inloggen tussen de 4,1 en 7 seconden? Dan wordt die meting als ‘tolerated’ gemarkeerd en wordt de waarde een halve punt. Metingen die langer duren dan 7,1 seconden worden als ‘frustraded’ gezien. Deze meting krijgt geen punten. 

Het aantal punten wordt gedeeld door het aantal metingen en uitgezet op een schaal tussen 0 en 1. Bijvoorbeeld: er zijn 100 metingen uitgevoerd:

  • 60 metingen waren ‘satisfied’ en krijgen 1 punt (60*1= 60)
  • 30 metingen waren ‘tolerated’ en krijgen 0,5 punt (30*0,5= 15)
  • 10 metingen waren ‘frustrated’ en krijgen geen punt (10*0= 0)

Hierdoor is een gewogen prestatiegetal berekend in de vorm van één enkel getal voor de hele applicatie op een bepaald moment. Hierna kunnen er vervolgstappen worden gezet, bijvoorbeeld het normeren van tevredenheid: bij een Apdex waarde van 0.85 kunnen gebruikers worden beschouwd als ‘tevreden’. Wanneer dit bij meerdere applicaties wordt ingeregeld, kan de tevredenheid van gebruikers van verschillende applicaties onderling met elkaar worden vergeleken. 

Context toevoegen met grenswaarden
Om te bepalen wat de grenswaarden van de verschillende bandbreedtes van responstijden moeten zijn, is het belangrijk de eindgebruiker en/of business te betrekken. Per transactie wordt besproken welke waarden nodig, haalbaar en wenselijk zijn. Daarna is het eenvoudig om de gemeten prestaties door te rekenen naar een Apdexcijfer per applicatie of zelfs voor een hele keten.

Bijvoorbeeld een arts die gebruik maakt van een Elektronisch Patiënten Dossier. Niet alle transacties binnen deze applicatie hebben dezelfde grenswaarden:

De transactie ‘inloggen’ gebeurt één keer per dag. Zowel de arts als de IT-afdeling vinden het prima als dat tussen de 6 en 10 seconden duurt. Gezien de dossiers die geladen moeten worden is dit ook technisch te verklaren. De grenswaarden worden ingesteld als:

  • Satisfied: 1-7 seconden
  • Tolerated: 7-10 seconden
  • Frustrated meer dan 11 seconden

De transactie ‘patiënt opzoeken’ wordt tientallen keren per dag uitgevoerd. Het is daarom van belang dat dit snel gebeurt, anders verliest de arts teveel tijd van zijn toch al korte consult.

  • Satisfied: 1-3 seconden
  • Tolerated: 4-5 seconden
  • Frustrated: meer dan 6 seconden

Niet voor alle transacties of ketens liggen de grenswaarden voor de hand. Gespecialiseerde partijen kunnen helpen logische waarden te bepalen op basis van ervaringen, het type applicatie, onderzoek en gesprekken met key users en functioneel beheer.

En dan?
Wanneer de grenswaarden zijn ingesteld kunnen deze automatisch worden berekend en worden getoond in een dashboard of meegenomen worden in rapportages. Zoals bij veel implementaties gaat het ook bij het gebruik van de Apdex niet alleen om het technische aspect. Ook de mensen en processen moeten vanaf het begin worden betrokken. Mensen moeten zich bewust zijn van de impact van een laag Apdex-cijfer en processen moeten erop gericht zijn om snel verbetertrajecten te kunnen inzetten. De Apdex fungeert hierbij als ‘glueware’ tussen mensen, processen en techniek: zowel de business, IT als het management kijken naar één waarheid die voor alle partijen begrijpelijk en relevant is. 

Door Marcel Wigman, performance architect bij Ymor

Wil jij dagelijkse updates?

Schrijf je dan in voor onze nieuwsbrief!