Skip to main content

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 excellent service et une fonctionnalité optimale 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 de quoi s’agit-il exactement ? Cela dépend des caractéristiques que vous visez, y compris celles définies dans le Modèle de Maturité Qualité, et de vos objectifs de surveillance. Cependant, il existe quelques indicateurs de santé et de performance que les ingénieurs QA devraient surveiller en toutes circonstances. 

En sélectionnant les bons indicateurs de surveillance serveur dès le départ, vous pouvez établir une base de référence en matière de performance, qui vous servira de point de comparaison lorsque des problèmes de santé ou de performance surviendront inévitablement. 

Envie d'en avoir plus avec The CTO Club ?

Créez un compte gratuit pour terminer cet article et rejoindre une communauté de CTO et de leaders en ingénierie partageant des cadres pratiques, des outils et des conseils pour concevoir, déployer et faire évoluer des technologies alimentées par l'IA.

Name*
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form
By submitting you agree to receive occasional emails and acknowledge our Privacy Policy. You can unsubscribe at anytime.

Dans ce guide rapide, nous allons expliquer pourquoi vous devriez surveiller ces indicateurs clés. De plus, vous bénéficierez d’informations supplémentaires sur leur importance et sur la façon de les suivre. 

1. Utilisation du processeur (CPU)

L'une des principales raisons de surveiller les serveurs est de garder un œil sur la santé de l’infrastructure et la performance de base du serveur. Un élément crucial consiste à diagnostiquer de manière proactive et à atténuer d’éventuels problèmes de performance. La mesure de l’utilisation du processeur et du disque est centrale dans ces efforts. C’est pourquoi l’usage CPU fait partie des indicateurs de performance les plus fondamentaux et les plus courants. 

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. En ce sens, la surveillance de l’utilisation du CPU implique 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 première recueille des mesures pendant le trafic réel. 

Comment mesurer l’utilisation du CPU 

Avant de commencer, vous devrez : 

  1. Sélectionner les disques particuliers que vous souhaitez surveiller. 
  2. Déterminer leur emplacement physique. 
  3. Vous assurer que votre collecteur de données a accès aux processus de votre ordinateur. 

Une fois que tout est en place, vous devrez déterminer la fréquence d’échantillonnage à laquelle vous souhaitez suivre ces indicateurs. Par exemple, vous pouvez mesurer l’utilisation du CPU toutes les 30 secondes ou toutes les minutes. 

Il existe différentes méthodes pour suivre l’utilisation du processeur, comme le gestionnaire de tâches ou une commande telle que wmic CPU get load percentage sous 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 : la performance du processeur dépend de conditions matérielles telles que la température du CPU et la vitesse du ventilateur. Vous pouvez surveiller ces facteurs en plus de l’utilisation (affichée en pourcentage) dans ces deux états, en ignorant l’inactivité. 

Deux éléments clés à surveiller de près sont Privileged Time et User Time, dont la somme fournit le Processor Time. Chacun est défini comme suit :

  • Privileged Time : pourcentage de temps pendant lequel le processeur exécute des processus non-utilisateur (par exemple, les processus du noyau) 
  • User Time : pourcentage de temps durant lequel le processeur exécute les processus utilisateur (ex. : shell de commande, serveur de messagerie, compilateur) 
  • Processor Time : temps total pendant lequel le CPU était sollicité 

N’oubliez pas que dépasser les 100 % ne signifie pas toujours 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 CPU est supérieure à 100 % (par exemple, 50 % et 60 %). Surveillez les performances individuelles pour maintenir la santé du système. 

En plus de l'utilisation du CPU et du disque, l'analyse des "waits" (attentes) est également considérée comme essentielle pour la santé de l’infrastructure et la surveillance de la performance. 

Améliorez votre boîte de réception avec plus de conseils en leadership technologique pour livrer de meilleurs logiciels et systèmes.

Name*
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form

Attentes (Waits) 

Les attentes (waits) vous permettent de savoir à quel point les tâches sont exécutées efficacement et de détecter d’éventuels goulets d’étranglement. Mais il ne suffit pas de connaître les valeurs des "waits". Vous devrez approfondir votre recherche pour identifier précisément le problème de performance. 

Des attentes élevées sont acceptables par moments, notamment lors de tâches exigeantes, mais au-delà, cela est souvent préoccupant. 

2. Disponibilité du serveur 

Votre serveur est inutile s’il n’est pas accessible à vos utilisateurs. C’est pourquoi surveiller la disponibilité du serveur est indispensable. Dès que la disponibilité de votre serveur passe sous les 99,999 % (le standard appelé « five nines »), vous faites face à un sérieux problème. 

Utilisez les formules ci-dessous pour obtenir des informations compréhensibles et exploitables issues de votre surveillance. 

Comment mesurer la disponibilité du serveur

Voici quelques concepts de base à connaître lors de la surveillance de la disponibilité du serveur : 

  • Disponibilité (Uptime) : La durée pendant laquelle votre service ou application est actif et accessible aux utilisateurs. Formule : (Temps total - Temps d’indisponibilité) / Temps total
  • Temps moyen entre les pannes (MTBF) : Le temps moyen séparant les incidents de pannes. Formule : (Temps total - Temps d’indisponibilité) / Nombre d'incidents d’indisponibilité
  • Temps moyen de résolution (MTTR) : Le temps moyen requis pour résoudre une panne. Formule : Temps total d’indisponibilité / Nombre d’incidents d’indisponibilité
  • Temps moyen pour prise en compte (MTTA) : Le temps moyen nécessaire pour reconnaître une panne en cours. Formule : Temps total pour prise en compte / Nombre d’incidents d’indisponibilité

Toutes ces métriques contribuent à développer une vision globale illustrant la fiabilité de votre infrastructure et la réactivité de votre équipe.

Par exemple, avoir un MTTR et un MTTA optimaux est positif. Mais si votre MTBF reste élevé, vous devrez approfondir l’analyse des causes profondes des indisponibilités de votre serveur. Sinon, l’entreprise demeure exposée à des pertes financières importantes et à une détérioration de la confiance des utilisateurs.

Capture d’écran d’un tableau de bord Grafana, un outil bien connu pour le suivi des principales métriques de surveillance de serveurs.
Vous pouvez utiliser un outil de surveillance des serveurs pour faciliter le suivi des métriques.

En fin de compte, il faut viser les « cinq neufs », c’est-à-dire limiter l’indisponibilité à un maximum d’environ cinq minutes par an. Les logiciels de surveillance comme Grafana et Prometheus sont fréquemment recommandés pour cet aspect du monitoring car ils sont accessibles et simples d’utilisation.

3. Transactions (et taux d’erreurs)

Vous avez besoin d’une vision claire du niveau de trafic que votre infrastructure peut supporter à 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 les ressources et la capacité nécessaires pour assurer le bon fonctionnement du serveur.

Dans le même temps, suivre le taux d’erreur, c’est-à-dire le pourcentage de requêtes échouées par rapport au total reçu, peut apporter des indications supplémentaires sur la capacité de charge de votre service. Pour tirer le meilleur parti de cette métrique, il est conseillé de définir une référence au fil du temps grâce à une surveillance passive.

Ceci est crucial pour pouvoir surveiller les tendances. Si vous pouvez revenir en arrière et identifier la capacité maximale et les ressources nécessaires pour un fonctionnement sans accroc, vous pouvez agir de manière proactive pour les allouer et localiser les problèmes d’infrastructure afin de réduire les taux d’erreurs observés et d’optimiser le temps de réponse moyen.

Comment surveiller les transactions et taux d’erreurs

Voici quelques outils fiables pour effectuer de la surveillance passive des performances :

  • Analyseurs de paquets (Sniffers) : Ils servent à collecter des mesures à un « niveau microscopique » en « écoutant » le flux de trafic sur les réseaux filaires ou sans fil. Wireshark est l’un des standards les plus largement utilisés, récupérant des données telles que l’horodatage, l’adresse MAC et IP, le TTL, etc. Ces outils peuvent être exploités en ligne ou hors ligne.
  • Journaux système (Logging facilities) : Ils sont généralement intégrés dans les systèmes d’exploitation et les applications. Ils collectent principalement des informations sur les activités et événements générés par les applications pour une utilisation en différé.

Parmi les dix meilleurs outils de surveillance de serveurs web, Monitis est particulièrement adapté pour le suivi des transactions. C’est un système de surveillance tout-en-un pour les serveurs, sites web et applications. Il fonctionne à la fois pour les systèmes Windows et Linux, et couvre les éléments de base, y compris la disponibilité.

L’objectif fixé pour la surveillance influencera le choix des mesures exactes et la façon d’utiliser ces techniques.

Autres métriques à surveiller avec les transactions

Le temps de réponse et le nombre total de threads sont directement liés aux transactions. Ils vous indiquent combien de temps met votre serveur à répondre à une requête et combien de threads (qui exécutent les transactions) sont utilisés pour traiter l’ensemble de ces requêtes.

Chaque thread consomme du temps processeur et de la mémoire RAM. Un trop grand nombre peut entraîner des performances médiocres. Il y a de nombreux paramètres à surveiller, notamment :

  • Le nombre total de threads dans un serveur web ou un pool de conteneurs, y compris les types suivants :
    • Actifs
    • Inactifs
    • Bloqués
    • En attente
  • 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 en tant que Time to First Byte (TTFB). Il s’agit du nombre de millisecondes que met un navigateur à recevoir le premier octet de la réponse du serveur. En règle générale, tout ce qui dépasse cinq secondes est critique. 

Choisir les bons indicateurs pour la surveillance des performances serveur

Il existe une longue liste d’indicateurs que vous pourriez surveiller pour suivre la santé et les performances de votre serveur, mais les cibles spécifiques dépendent principalement de l’objectif de vos efforts de surveillance. 

Alors que certains sont les mieux adaptés pour obtenir des informations sur la capacité de charge de votre matériel et de votre système d’exploitation, d’autres sont idéaux pour observer l’activité des utilisateurs. Dans tous les cas, le processeur, la disponibilité et les transactions sont des éléments 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 des conseils d’experts supplémentaires sur ceux que vous devriez surveiller et comment les gérer, abonnez-vous à la newsletter

Vinci Lam

Vinci Lam est la rédactrice en chef de The QA Lead, une publication numérique du groupe média BWZ qui s’impose rapidement comme l’une des plateformes les plus crédibles en ingénierie de la qualité et en leadership d’opinion. Vinci dirige la stratégie de contenu qui attire plus de 70 000 visiteurs chaque mois sur le site The QA Lead, en faisant la plus grande, la plus influente et la plus active communauté de leaders technologiques et de la qualité au monde.