L'assurance qualité nécessite une combinaison de mesures proactives et de protocoles réactifs efficaces. Avec le bon équilibre, vous pouvez offrir aux utilisateurs un service et des fonctionnalités de qualité sur un serveur disponible toute l'année. La seule façon d’atteindre cet équilibre est d’identifier les indicateurs de surveillance de serveur les plus pertinents.
Mais lesquels choisir ? Cela dépend des caractéristiques souhaitées, y compris celles décrites dans le Modèle de Maturité de la Qualité, et de vos objectifs de surveillance. Toutefois, il existe certains indicateurs de santé et de performance que les ingénieurs QA devraient toujours suivre, quelle que soit la situation.
En sélectionnant dès le départ les indicateurs de surveillance du serveur les plus adaptés, vous pouvez établir une référence de performance à utiliser comme point de comparaison lorsque des problèmes de santé ou de performance surviennent inévitablement.
Dans ce bref guide, nous examinerons pourquoi vous devez suivre ces indicateurs clés. De plus, vous obtiendrez des informations supplémentaires sur leur pertinence et la manière de les surveiller.
1. Utilisation du processeur (CPU)
L’une des principales raisons de la surveillance des serveurs est de garder un œil sur la santé de l'infrastructure et les performances de base du serveur. Un élément clé est le diagnostic proactif et la réduction des problèmes de performance potentiels. La mesure de l’utilisation du CPU et du disque est au cœur de ces efforts. Ainsi, l’utilisation du processeur est l’un des indicateurs de performance les plus fondamentaux et couramment surveillés.
Cette mesure est considérée comme « basée sur l’hôte », car elle enregistre la capacité d’une machine à fonctionner et à rester stable. Cela dit, le suivi de l’utilisation du processeur impliquera une combinaison de surveillance passive et active. Cette dernière est particulièrement utile pour les tests de charge contrôlés, tandis que la surveillance passive collecte les mesures sur la cible pendant le trafic réel.
Comment mesurer l’utilisation du processeur
Avant de commencer, vous devrez :
- Sélectionner les lecteurs particuliers que vous souhaitez surveiller.
- Déterminer où ces lecteurs sont situés.
- Vous assurer que votre collecteur de données a accès aux processus de votre ordinateur.
Une fois tout cela mis en place, vous devrez déterminer la fréquence d’échantillonnage à laquelle vous souhaitez surveiller ces indicateurs. Par exemple, vous pouvez mesurer l’utilisation du processeur toutes les 30 secondes ou toutes les minutes.
Il existe différentes façons de surveiller l’utilisation du processeur, comme via le gestionnaire de tâches ou en utilisant une commande comme wmic CPU get load percentage pour les systèmes Windows. Cependant, si vous souhaitez avoir une vue d'ensemble de votre serveur, il est préférable d’afficher ces données sur un tableau de bord.
À retenir : Les performances du processeur sont influencées par les conditions matérielles, comme la température du CPU et la vitesse du ventilateur. Vous pouvez souhaiter surveiller ces facteurs en même temps que l’utilisation (exprimée en pourcentage) dans ces deux états, hors période d’inactivité.
| Actif | Pendant cette période, le CPU exécute une tâche. |
| I/O | Dans cet état, le CPU n’est pas occupé mais il n’est pas inactif non plus. Il peut par exemple attendre une opération d’E/S pour exécuter une tâche, généralement en attendant d’émettre ou de recevoir des données. |
Deux éléments clés à surveiller de près sont le « Privileged Time » et le « User Time », la somme des deux correspondant au « Processor Time », chacun étant défini comme suit :
- Privileged Time : Pourcentage du temps utilisé par les processeurs pour exécuter des processus système (c’est-à-dire les processus du noyau)
- User Time : Pourcentage du temps utilisé par les processeurs pour exécuter des processus utilisateur (par ex., interpréteur de commandes, serveur de messagerie, compilateur)
- Processor Time : Temps total passé par le processeur à être actif
Gardez à l’esprit que dépasser 100 % ne signifie pas nécessairement qu’un système est surchargé. Par exemple, si vous avez un système multiprocesseur, cela signifie simplement que la somme des deux ou plusieurs processeurs est supérieure à 100 % (ex. : 50 % et 60 %). Surveillez leurs performances individuelles pour maintenir la santé du système.
Avec l’utilisation du processeur et du disque, les « waits » (attentes) sont également essentielles dans la surveillance de la santé et des performances de l’infrastructure.
Attentes
Les temps d’attente vous renseignent sur l’efficacité de l’exécution des tâches et vous alertent sur d’éventuels goulets d’étranglement. Mais connaître simplement ces attentes ne suffit pas. Il faut effectuer des recherches supplémentaires pour identifier le problème précis de performance.
Des temps d’attente élevés sont tolérables par à-coups, notamment si des tâches gourmandes ont lieu, mais au-delà de ça, c’est généralement préoccupant.
2. Disponibilité du serveur
Votre serveur est inutile s’il n’est pas accessible à vos utilisateurs. La surveillance de la disponibilité du serveur est donc indispensable. Dès que la disponibilité de votre serveur passe en dessous de 99,999 % (la norme appelée « cinq neufs »), vous faites face à un sérieux problème.
Utilisez les formules ci-dessous pour obtenir des informations compréhensibles et exploitables à partir de vos efforts de surveillance.
Comment mesurer la disponibilité des serveurs
Voici quelques concepts essentiels à connaître lors de la surveillance de la disponibilité des serveurs :
- Disponibilité : Le temps pendant lequel votre service ou application est actif et accessible aux utilisateurs. Formule : (Temps total - Temps d’indisponibilité)/Temps total
- Temps moyen entre deux défaillances (MTBF) : Le temps moyen séparant les incidents d’indisponibilité. Formule : (Temps total - Temps d’indisponibilité)/Nombre d’incidents d’indisponibilité
- Temps moyen de résolution (MTTR) : Le temps moyen nécessaire pour résoudre une panne. Formule : Temps total d’indisponibilité/Nombre d’incidents d’indisponibilité
- Temps moyen d’accusé de réception (MTTA) : Le temps moyen nécessaire pour accuser réception d'une panne en cours. Formule : Temps total d’accusé de réception/Nombre d’incidents d’indisponibilité
Toutes ces mesures aident à établir une vision globale illustrant la fiabilité de votre infrastructure et la réactivité de votre équipe.
Par exemple, avoir un MTTR et un MTTA satisfaisants est positif. Mais si votre MTBF est également élevé, il faudra investiguer davantage les causes profondes de l’indisponibilité de vos serveurs. Sinon, l’entreprise reste exposée à des pertes financières importantes et à une perte de confiance des utilisateurs.

En fin de compte, vous devez viser les « cinq neuf », c’est-à-dire réduire le temps d’indisponibilité à un maximum d’environ cinq minutes par an. Les logiciels de surveillance de serveurs comme Grafana et Prometheus sont fréquemment recommandés pour cet aspect du suivi des performances grâce à leur accessibilité et leur facilité d’utilisation.
3. Transactions (et taux d’erreurs)
Vous devez avoir une vision claire de la quantité de trafic supportée par votre infrastructure à tout moment. Il est donc essentiel de surveiller vos transactions — ou le nombre de requêtes par seconde — ainsi que le temps de réponse moyen correspondant. Ces informations vous aideront à déterminer la quantité de ressources et la capacité nécessaires au bon fonctionnement du serveur.
Parallèlement, le suivi du taux d’erreur, c’est-à-dire le pourcentage de requêtes échouées par rapport au total reçu, peut fournir des indications supplémentaires sur la capacité de charge de votre service. Pour maximiser la valeur de cet indicateur, il est préférable d’établir une référence sur la durée, grâce à une surveillance passive.
Ceci est crucial pour votre capacité à surveiller les tendances. En analysant a posteriori la capacité maximale et les ressources nécessaires à une exploitation fluide, vous pourrez agir de manière proactive pour allouer ce qu’il faut et identifier les problèmes d’infrastructure afin de réduire les taux d’erreur observés et d’optimiser votre temps de réponse moyen.
Comment surveiller les transactions et les taux d’erreur
Voici des outils fiables pour des techniques de surveillance passive des performances :
- Sondeurs réseau : Ils sont conçus pour recueillir des mesures à un « niveau microscopique » en « écoutant » le trafic sur les réseaux filaires et sans fil. Wireshark est l’un des standards les plus répandus, collectant des données telles que l’horodatage, l’adresse MAC et IP, la durée de vie des paquets, etc. Ces outils peuvent être utilisés en ligne ou hors ligne.
- Outils de journalisation : Ils sont généralement intégrés aux systèmes d’exploitation et aux applications. Leur objectif principal est de collecter des informations sur les activités et événements générés par les applications pour une analyse hors ligne.
Parmi les dix meilleurs outils de surveillance des serveurs web, Monitis se distingue pour le suivi des transactions. Il s’agit d’une solution de surveillance tout-en-un pour serveurs, sites Internet et applications, adaptée aussi bien aux systèmes Windows qu’à Linux et idéale pour couvrir les besoins de base, y compris la disponibilité.
L’objectif et la finalité de vos efforts de surveillance influenceront les mesures exactes et l’utilisation de ces techniques.
Autres indicateurs à surveiller avec les transactions
Le temps de réponse et le nombre total de threads sont directement liés aux transactions. Ces données vous indiqueront combien de temps votre serveur met à répondre à une requête et le nombre de threads (qui permettent l’exécution des transactions) utilisés pour traiter toutes ces demandes.
Chaque thread consomme du temps processeur et de la mémoire vive. En avoir trop peut dégrader les performances. Il y a de nombreux éléments à surveiller à ce niveau, notamment :
- Le nombre total de threads dans un serveur web ou un pool de conteneurs, incluant ces types :
- Actifs
- Inactifs
- Bloqués
- En veille
- Requêtes utilisateur en attente et longueur de la file d’attente
Vous pouvez généralement mesurer le temps de réponse du serveur par le biais du Temps jusqu'au premier octet (TTFB). Il s'agit du nombre de millisecondes nécessaires à un navigateur pour recevoir le premier octet d'une réponse du serveur. En règle générale, tout ce qui dépasse cinq secondes est critique.
Choisir les bons indicateurs pour surveiller la performance des serveurs
Il existe une longue liste d'indicateurs que vous pouvez surveiller lorsque vous suivez la santé et la performance de votre serveur, mais les objectifs spécifiques dépendent principalement du but de votre démarche de surveillance.
Alors que certains métriques sont idéaux pour mieux comprendre la capacité de charge de votre matériel et de votre système d'exploitation, d'autres sont parfaits pour observer l'activité des utilisateurs. Dans tous les cas, le processeur, le temps de disponibilité et les transactions sont des fondamentaux à ne pas négliger.
Au fur et à mesure que vous progressez en tant que responsable QA et que vos objectifs évoluent inévitablement, vous ajouterez sans aucun doute davantage d'indicateurs de surveillance serveur à votre tableau de bord. Pour davantage d'avis d'experts sur ceux à privilégier et comment les gérer, abonnez-vous à la newsletter.
