Analyser les I/O (iostat) Utiliser iostat et sysstat sur un VPS HolyCloud pour diagnostiquer les goulots disque, latence et saturation des volumes. ~8 min de lecture Débutant #iostat #disque #io #sysstat Analyser les I/O (iostat) Les performances d'un VPS HolyCloud dépendent souvent des I/O disque (stockage local ou NVMe). L'outil iostat (paquet sysstat) affiche le débit, l'utilisation et la latence par périphérique. Prérequis VPS Linux avec accès sudo Charge représentative (backup, import SQL, compilation) pour voir des pics Identification du type de stockage (panel HolyCloud / lsblk) Installation sudo apt install -y sysstat sudo systemctl enable --now sysstat iostat -V Sur RHEL : sudo dnf install -y sysstat Lecture en temps réel Toutes les 2 secondes, 5 échantillons : iostat -xz 2 5 Colonnes importantes (mode étendu -x) : | Colonne | Signification | |---------|-------------| | %util | Temps où le disque était occupé (100 % = saturation) | | r/s, w/s | Lectures / écritures par seconde | | rkB/s, wkB/s | Débit lecture / écriture | | await | Latence moyenne des I/O (ms) — critique | | avgqu-sz | Profondeur de file d'attente | Si %util est proche de 100 % et await monte (ex. > 20 ms sur NVMe), le disque est le goulot. Par partition iostat -xz 2 5 /dev/vda df -hT lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE Sur VPS, le disque apparaît souvent comme vda, sda ou nvme0n1. Historique avec sar sysstat enregistre des archives : sar -d -f /var/log/sysstat/sa$(date +%d) | tail -30 Activité nocturne de backup visible le lendemain. Scénarios typiques Import MySQL lent iostat -xz 1 # dans un autre terminal mysql < gros_dump.sql Si w/s et wkB/s sont élevés avec await élevé, privilégiez import hors heures ou innodb_buffer_pool_size adapté. Backup rsync watch -n2 'iostat -xz 1 1 | grep -E "Device|vda|nvme"' Swap actif vmstat 1 free -h Si si/so (swap in/out) > 0 en continu, la RAM manque — iostat montrera aussi des lectures disque. Comparer avec fio (optionnel) Test ponctuel (attention, charge intensive) : sudo apt install -y fio fio --name=randread --ioengine=libaio --rw=randread --bs=4k \ --numjobs=4 --size=256M --runtime=30 --filename=/tmp/fiotest rm -f /tmp/fiotest Comparez les résultats entre deux offres VPS Performance. Bonnes pratiques Mesurez pendant un incident, pas uniquement au repos. Notez le fuseau horaire et la tâche cron en parallèle (grep CRON /var/log/sysstat). Ne confondez pas CPU élevé et I/O : utilisez top, mpstat en complément. apt install -y sysstat mpstat -P ALL 1 3 Seuils indicatifs (NVMe VPS) | Métrique | Zone confortable | Alerte | |----------|------------------|--------| | await | < 2 ms | > 10 ms soutenu | | %util | < 70 % moyen | 100 % prolongé | | avgqu-sz | < 2 | > 10 | Les seuils varient selon workload ; serveur de bases OLTP tolère moins de latence qu'un site statique. Dépannage | Observation | Piste | |-------------|-------| | %util bas mais app lente | Réseau, CPU, locks applicatifs | | w/s énorme, peu de CPU | Logs, tmp, antivirus scan | | Lectures constantes | Cache froid, index SQL manquants | Besoin d'aide ? Fournissez au support HolyCloud : sortie iostat -xz 2 10 pendant lenteur, df -h, plan VPS et heure exacte du incident. Suite de la lecture Article suivant Cache FastCGI Nginx Lire