Debug des performances serveur
Guide de Debug des Performances VPS RedHeberg
Ce guide vous accompagne dans l'identification et la résolution des problèmes de performances sur votre VPS RedHeberg, que ce soit un VPS Xeon KVM, Game Ryzen ou Windows.
Surveillance CPU
Identifier les processus gourmands
Utilisez top pour une vue en temps réel :
# Vue en temps réel des processus par CPU
top
# Trier par utilisation CPU (appuyez sur 'P' dans top)
# Trier par utilisation mémoire (appuyez sur 'M' dans top)
# Quitter avec 'q'
Pour une interface plus avancée avec htop :
# Installation htop
sudo apt update && sudo apt install htop # Debian/Ubuntu
sudo dnf install htop # AlmaLinux/Rocky
# Lancement htop
htop
# F6 pour trier, F9 pour kill un processus
Identifier les processus problématiques :
# Top 10 des processus par CPU
ps aux --sort=-%cpu | head -n 11
# Processus spécifique
pgrep -f nom_processus
ps -p PID -o pid,ppid,%cpu,%mem,cmd
Surveillance continue
Utilisez watch pour surveiller en continu :
watch -n 2 "ps aux --sort=-%cpu | head -n 10"
Analyse Mémoire RAM
Vérification de l'utilisation mémoire
# Vue générale de la mémoire
free -m
# Vue détaillée
cat /proc/meminfo
# Processus les plus gourmands en RAM
ps aux --sort=-%mem | head -n 11
Gestion du swap et swappiness
# Vérifier le swap actuel
swapon --show
free -h
# Voir la swappiness (valeur recommandée : 10-60)
cat /proc/sys/vm/swappiness
# Modifier temporairement la swappiness
echo 30 | sudo tee /proc/sys/vm/swappiness
# Modifier définitivement
echo 'vm.swappiness=30' | sudo tee -a /etc/sysctl.conf
Surveiller l'OOM Killer
# Vérifier les logs OOM
dmesg | grep -i "killed process"
journalctl -k | grep -i "killed process"
# Voir les scores OOM des processus
for pid in $(ps -eo pid --no-headers); do
if [ -r /proc/$pid/oom_score ]; then
echo "PID: $pid, OOM Score: $(cat /proc/$pid/oom_score 2>/dev/null)"
fi
done | sort -k4 -nr | head -n 10
Performances Disque I/O
Surveillance avec iostat
# Installation des outils
sudo apt install sysstat # Debian/Ubuntu
sudo dnf install sysstat # AlmaLinux/Rocky
# Statistiques I/O par seconde
iostat -x 1
# Focus sur un disque spécifique
iostat -x /dev/nvme0n1 2
Analyse détaillée avec iotop
# Installation iotop
sudo apt install iotop # Debian/Ubuntu
sudo dnf install iotop # AlmaLinux/Rocky
# Surveillance I/O par processus
sudo iotop -o
# Vue accumulée
sudo iotop -a
Tests de performances disque
# Test écriture séquentielle (SSD NVMe Samsung 990 EVO Plus)
dd if=/dev/zero of=/tmp/testfile bs=1M count=1024 oflag=direct
# Test lecture séquentielle
dd if=/tmp/testfile of=/dev/null bs=1M iflag=direct
# Nettoyage
rm /tmp/testfile
# Test avec fio (plus précis)
sudo apt install fio
fio --name=random-write --ioengine=libaio --rw=randwrite --bs=4k --size=1G --numjobs=1 --runtime=60 --group_reporting
Analyse Réseau
Surveillance du trafic avec iftop
# Installation iftop
sudo apt install iftop # Debian/Ubuntu
sudo dnf install iftop # AlmaLinux/Rocky
# Surveillance par interface
sudo iftop -i eth0
# Avec résolution DNS
sudo iftop -n -i eth0
Vérification des connexions actives
# Connexions TCP/UDP actives
ss -tulpn
# Connexions par état
ss -s
# Top des connexions par IP
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -n 10
Tests de latence et routage
# Test ping vers infrastructure RedHeberg
ping -c 4 myspeed.redheberg.fr
# Test avec votre IP publique
ping -c 4 YOUR_SERVER_IP
# Traceroute détaillé avec MTR
mtr --report --report-cycles 10 myspeed.redheberg.fr
# Test de bande passante vers speedtest RedHeberg
wget -O /dev/null http://myspeed.redheberg.fr/1000MB.bin
Load Average et Performance Globale
Comprendre le Load Average
# Load average actuel
uptime
cat /proc/loadavg
# Surveillance continue
watch -n 1 uptime
Interprétation Load Average
- Load < nombre de vCPU : système performant
- Load = nombre de vCPU : système utilisé à 100%
- Load > nombre de vCPU : système saturé
Exemple VPS Game Ryzen ULTRA (4vCPU) :
- Load 2.0 = 50% d'utilisation ✅
- Load 4.0 = 100% d'utilisation ⚠️
- Load 6.0 = surcharge 150% ❌
Surveillance système complète
# Script de monitoring complet
#!/bin/bash
echo "=== RÉSUMÉ PERFORMANCES VPS REDHEBERG ==="
echo "Load Average: $(uptime | awk -F'load average:' '{print $2}')"
echo "CPU: $(grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$3+$4+$5)} END {print usage "%"}')"
echo "RAM: $(free | grep Mem | awk '{printf("%.1f%% (%s/%s)\n", $3*100/$2, $3, $2)}')"
echo "Disque: $(df -h / | awk 'NR==2{printf "%s (%s utilisés)\n", $5, $3}')"
echo "Réseau: $(cat /proc/net/dev | grep eth0 | awk '{print "RX: " $2/1024/1024 " MB - TX: " $10/1024/1024 " MB"}')"
Quand Upgrader votre VPS
Critères d'upgrade par ressource
| Ressource | Seuils d'alerte | Action recommandée |
|---|---|---|
| CPU | Load > 80% du nombre de vCPU | Passer au plan supérieur |
| RAM | Utilisation > 85% + swap actif | Augmenter la RAM |
| Disque | Utilisation > 85% | Plus d'espace de stockage |
| I/O | %iowait > 20% dans iostat | Vérifier les processus I/O |
Recommandations par gamme RedHeberg
Upgrade VPS Xeon KVM
- **XS →