Aller au contenu principal

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

RessourceSeuils d'alerteAction recommandée
CPULoad > 80% du nombre de vCPUPasser au plan supérieur
RAMUtilisation > 85% + swap actifAugmenter la RAM
DisqueUtilisation > 85%Plus d'espace de stockage
I/O%iowait > 20% dans iostatVérifier les processus I/O

Recommandations par gamme RedHeberg

Upgrade VPS Xeon KVM
  • **XS →