Apdex (Application Performance Index)
L'Application Performance Index, également appelé Apdex, est une norme ouverte visant à simplifier le suivi des performances des applications.
L'Apdex analyse la satisfaction perçue de l'utilisateur final d'une application. Il ne s'agit pas d'un outil de surveillance et de gestion des performances des applications (APM, Application Performance Management).
L'Apdex attribue un score numérique au niveau de satisfaction des utilisateurs en fonction de la réactivité de l'application, en calculant le degré de correspondance entre les attentes des utilisateurs et les performances, sur une échelle fractionnaire qui va de 0 (aucun utilisateur satisfait) à 1 (tous les utilisateurs satisfaits).
L'Alliance Apdex
En 2004, un groupe d'éditeurs de logiciels, avec à sa tête NetForecast, une entreprise de contrôle des prestataires de services de données et des fournisseurs d'accès Internet (FAI), a développé et défini la norme Apdex. Ce groupe d'éditeurs, appelé l'Alliance Apdex, comportait 200 membres individuels en 2007 et en atteignait 2 000 en 2010.
Les membres et éditeurs de l'Alliance Apdex cherchent et créent de nouveaux standards concernant le suivi des performances des applications en rapport avec l'expérience utilisateur (UX). Ils contribuent également au guide technique de l'Apdex et développent des manuels éducatifs. Enfin, ils mettent en application les outils Apdex dans leurs logiciels.
L'Apdex ne servant pas à superviser des logiciels, les éditeurs de l'Alliance recueillent généralement des mesures portant par exemple sur les temps de réponse, pour ensuite les intégrer à un score Apdex qui apparaît dans le tableau de bord du logiciel de suivi à l'intention des informaticiens et développeurs. Les scores ne sanctionnent pas uniquement les éditeurs qui font partie de l'Alliance.
Réactivité des applications dans trois domaines
Les évaluations de l'Apdex se basent sur trois niveaux de réactivité, du point de vue de l'utilisateur final : satisfaisante, tolérable et décevante. Le score spécifique peut être excellent, bon, passable, médiocre et inacceptable, niveaux qui correspondent respectivement aux notes A, B, C, D et F.
La réactivité des logiciels est en partie déterminée par les temps de réponse et le traitement transactionnel des applications. Le temps de réponse est celui qui s'écoule entre le lancement d'une tâche par l'utilisateur ou son exécution, et la réponse du logiciel à la tâche suivante. Le traitement transactionnel interprète chaque information comme une opération.
Dans le score Apdex, la réactivité est indiquée sous la forme d'une valeur T ou F, T correspondant à une réponse considérée comme rapide et F, à un système trop lent. T indique le temps en secondes.
Un score Apdex peut prendre n'importe quelle valeur entre 0 et 1, par exemple 0,5, 0,8 ou 0,95. La réactivité est considérée comme satisfaisante lorsque l'utilisateur est entièrement productif, le meilleur score possible s'élevant à 1. La réactivité est tolérable lorsque l'utilisateur constate des performances laissant à désirer. Enfin, une réactivité décevante correspond à des temps de réponse supérieurs à ce qui est considéré comme acceptable pour la valeur T, le pire score possible étant égal à 0.
Mode de calcul des scores Apdex
L'équation utilisée par l'Apdex pour calculer un score de réactivité est le nombre d'échantillons satisfaisants, plus la moitié des échantillons tolérables, divisé par le nombre total d'échantillons. En prenant un exemple concret, le calcul s'effectue comme suit :
Par exemple, sur un système totalisant 100 utilisateurs, on compte 70 utilisateurs satisfaits, ce qui traduit une haute réactivité de l'application. La valeur T correspond donc à 70. Il y a 20 utilisateurs qui obtiennent des réponses plus lentes de l'application, mais dans des limites acceptables ; ils forment l'échantillon tolérable. L'équation est (70+20/2)/100= 0,8.
Le score de 0,8 est bien compris entre 0 et 1. Un score excellent s'élèvera entre 1 et 0,94, un score bon entre 0,93 et 0,85, un score passable entre 0,84 et 0,70 et un score médiocre entre 0,69 et 0,49. Toute valeur inférieure est considérée comme inacceptable.
Amélioration des scores Apdex
Une entreprise doit définir un temps de réponse de référence pour son application, ainsi que les temps de réponse à atteindre pour chaque partie fonctionnelle du système. Plus le temps de réponse sera rapide, plus le nombre d'utilisateurs satisfaits, et donc le score Apdex, seront élevés.
Les scores Apdex représentent des répartitions en valeurs, telles que le temps de réponse, qui peuvent être tracées en quelques secondes sous la forme d'un histogramme dans lequel les valeurs peuvent figurer sur la longue traîne d'une courbe descendante. Des mesures comme le temps de réponse moyen ou médian ne les mettent pas facilement en évidence, mais elles sont visibles avec l'Apdex.
Si une longue traîne apparaît, les développeurs devront analyser l'architecture de l'application pour y détecter des indicateurs de faibles performances. La configuration de déploiement de l'application peut également influer directement sur les performances. Par exemple, il est possible de remanier une application de façon à ce qu'elle communique moins sur le réseau ou qu'elle bénéficie de plus de bande passante, dans le but d'améliorer ses performances.
Autres cas d'utilisation de l'indice Apdex
Les services informatiques se servent de l'Apdex pour déterminer la réactivité des logiciels d'entreprise, mais cet indice s'utilise également dans d'autres contextes que la gestion des applications.
Par exemple, NetForecast a utilisé l'équation Apdex pour contrôler la précision d'un compteur d'utilisation Internet du fournisseur Cox, avec une spécification de précision fixée à ±1 %. Un résultat de l'ordre de ±1 % signifie que tous les échantillons sont satisfaisants ; en dessous de -1 %, tous les échantillons sont tolérables, tandis qu'au-dessus de +1 %, ils sont décevants. Le compteur a été mesuré pendant une année, au cours de laquelle le score Apdex est majoritairement resté dans la plage satisfaisante, atteignant par intermittence un niveau excellent.
Même les entreprises qui n'évoluent pas dans le domaine technique peuvent utiliser les scores Apdex. Par exemple, un organisme de presse peut demander à ses lecteurs si un article leur a été utile, un peu utile ou pas du tout utile, et calculer un score à partir des réponses introduites dans l'équation Apdex.