Retourner sur le site

Analyser les I/O (iostat)

Utiliser iostat et sysstat sur un VPS HolyCloud pour diagnostiquer les goulots disque, latence et saturation des volumes.

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) :

--------- -------------
%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

------------- -------
%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.