Chercher l'origine du problème, plutôt que le responsable...

Pourtant, mettre en place des outils de diagnostic en environnement de production permet bien souvent de diagnostiquer l'origine du problème, plutôt que de chercher un responsable. Les outils de diagnostic peuvent s'incarner, dans leur plus simple expression, par des journaux de log, ou bien, par des outils beaucoup plus évolués de supervision, de monitoring, ou de profiling.

L'essentiel est de récupérer une information pertinente. Ainsi, il n'est souvent pas nécessaire de journaliser tout, à tout moment. La quantité d’information retournée deviendrait alors rapidement inexploitable. Au contraire, il est préférable de choisir la bonne information, et d'adapter le niveau de finesse en fonction des besoins de diagnostic.

Frein de performance dans une application web

Plus concrètement, prenons l’exemple d’une application web.

Quand il utilise l'application, l'utilisateur perçoit un temps de réponse, qui est en fait la somme de plusieurs couches. Le fait que l’utilisateur reçoive sa réponse en 10 secondes environ (alors qu’il est censé la recevoir en moins de 2 secondes) permet de constater le manque de performance de l'application. Pour autant, cela ne fait guère avancer le schmilblick ! En revanche, il est nettement plus utile de constater qu’il a passé :

  • moins d’une seconde au niveau du serveur web,
  • environ 1 seconde dans le serveur d’application,
  • environ 8 secondes au niveau de la base de données.

Le second constat permet d'identifier beaucoup plus rapidement l'origine du problème, dans ce cas, vraisemblablement la base de données.

Superviser et monitorer

Que se soit au moyen de la journalisation, ou bien via des outils de supervision ou de monitoring plus évolués, il est primordial d’avoir une vision claire et précise de son environnement de production, au sein du système d'information. On peut alors cesser de perdre son temps à se renvoyer la patate chaude, et consacrer son énergie à résoudre rapidement les problèmes.