Performance système
Identifier un goulot d'étranglement sur un serveur requiert de lire les bons indicateurs : CPU, mémoire, I/O disque, charge système. Les outils standard de Debian fournissent une vue complète de l'activité du système.
Charge et CPU
uptime # charge système (load average 1/5/15 minutes)
nproc # nombre de coeurs disponiblesLe load average représente le nombre de processus en attente d'exécution. Un load de 1.0 sur 1 coeur signifie une charge pleine. Sur 4 coeurs, un load de 4.0 est normal ; 8.0 indique une surcharge.
top # vue dynamique (CPU, mémoire, processus)
htop # version améliorée avec navigation interactive
apt install htopMémoire
free -h # RAM et swap (human-readable)
vmstat 1 5 # statistiques système toutes les 1s, 5 foisColonnes clés de vmstat :
- r : processus en attente CPU (run queue)
- b : processus bloqués en attente I/O
- si / so : swap in/out (si non nul, problème de RAM)
- bi / bo : blocs lus/écrits sur disque
- wa : pourcentage CPU en attente I/O (iowait)
I/O disque : iostat et iotop
apt install sysstat iotop
iostat -x 1 5 # statistiques I/O étendues, toutes les 1s, 5 fois
iotop # processus classés par activité I/OColonnes importantes de iostat -x :
- %util : taux d'utilisation du disque (proche de 100% = saturation)
- await : temps moyen d'attente des requêtes I/O (ms)
- r/s, w/s : requêtes de lecture/écriture par seconde
- rkB/s, wkB/s : débit en kB/s
Résumé des outils
- uptime / top / htop : charge CPU et processus
- free : utilisation mémoire et swap
- vmstat : vue d'ensemble CPU/mémoire/I/O en temps réel
- iostat : I/O disque par périphérique
- iotop : processus les plus gourmands en I/O
En pratique
Face à un serveur qui rame, la séquence de diagnostic : uptime pour voir le load average, top ou htop pour identifier le processus responsable, vmstat 1 pour confirmer si c'est de l'iowait (colonne wa élevée) ou du CPU pur. Si c'est de l'I/O, iostat -x 1 identifie le disque saturé et iotop le processus responsable. Si la mémoire est en cause, free -h combiné à vmstat avec si/so non nuls signale un swapping actif : le serveur est sous-dimensionné en RAM.