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

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