Mètre ruban Dans sa définition littérale, la métrologie, du grec metron (« la mesure ») et logos (« la science »), est la science de la mesure. C’est donc l’ensemble des techniques et des savoir faire permettant de donner une valeur à une observation, en bref de mesurer.

A quoi ça sert ?

Il y a une mesure en toute chose” Horace

Dans le domaine informatique, la métrologie permet d’évaluer les performances d’une application.

Ces objectifs sont :

  • Tester / améliorer le temps de réponse utilisateur;
  • Tester / améliorer le débit;
  • Limiter la consommation de ressource;
  • Tester / améliorer la disponibilité;
  • Tester / améliorer la fiabilité;
  • Tester la scalabilité.

Au final, il s’agit de valider ou d’optimiser le système global sur lequel repose une application logicielle.

Pour qui ?

Une mesure exacte vaut l’avis d’un millier d’experts” Grace Hopper

Alors, qui peut profiter d’une métrologie ? La réponse qui vient naturellement à l’esprit est : tous ceux qui ont des problèmes de performance sur une application. En effet, une application dont les temps de réponses seront beaucoup trop longs, sera la candidate idéale à une métrologie. Cette dernière permettra de mettre en évidence les freins de performance et d’identifier les moyens de les supprimer. Mais, il ne faut pas limiter sa vision de la performance d’une application à son temps de réponse. En effet, une application qui nécessite une dizaine de serveurs très couteux pour seulement 20 utilisateurs, même avec de très bon temps de réponse, a très certainement de gros problèmes de performance. Il est très rare en effet qu’une application soit si complexe, qu’elle nécessite un ratio de 1 serveur pour 2 utilisateurs !

Mais la métrologie n’est pas seulement utile quand on a un problème. Car d’après sa définition, c’est la science de la mesure, et la mesure est nécessaire à toute connaissance, à toute prise de décision et à toute action. Comment acheter une paire de chaussure si on ne connait pas sa pointure, la mesure de ses pieds. Ce simple exemple met bien en évidence la banalité avec laquelle on utilise dans notre vie de tous les jours des mesures afin de nous aider à prendre des décisions. C’est d’autant plus nécessaire en informatique où les investissements peuvent être très importants. Je ne connais pas grand monde qui achèterait une paire de chaussure sans l’essayer, mais je ne connais personne qui le ferait à l’instinct sans même connaitre la pointure qu’il achète ni même la taille de ses pieds !

A qui s’adresse la métrologie ? J’ai envie de répondre : à tous ceux qui n’ont pas de mesures sur la performance de leur application, et qui ont besoin de repères pour prendre des décisions et anticiper les actions futures.

Comment ?

Le principe de la métrologie est de simuler la montée en charge d’une application. Pour ce faire, il faut commencer par modéliser la charge utilisateur. Cette étape consiste à sélectionner un sous-ensemble représentatif de scénarios d’utilisation de l’application et de les combiner entre eux en ajustant divers paramètres. Cette combinaison de scénarios forme une stratégie de tir.

Chaque scénario défini précédemment est capturé avec un outil spécifique pour le transformer en script. Ces scripts sont alors exécutés par un outil d’injection de charge, selon la stratégie définie, de manière à simuler la charge utilisateur voulue sur l’environnement de qualification de l’application. Cet environnement devra préalablement être instrumenté par le biais de capteurs, afin de mesurer l’activité des différents composants de l’application tout au long de cette « campagne de tirs ».

A l’issue, l’analyse des informations collectées permet d’obtenir des mesures fiables et pertinentes sur l’application.

La réponse à tous les problèmes ?

Les problématiques informatiques d’une entreprise sont trop nombreuses et variées pour que la métrologie, à elle seule, puisse toutes les adresser. Cependant, elle reste un outil d’aide à la décision essentiel, que toute DSI devrait avoir dans sa boîte à outils.

Pour aller plus loin