Stockage
Qu'est-ce que IOPS ?
IOPS measures how many individual read or write operations a storage device completes per second. Random 4K IOPS at a queue depth of one is the number that predicts database behaviour; sequential throughput is the number that appears in marketing.
Pourquoi IOPS est important
Des IOPS aléatoires de 4K à une profondeur de file d'attente de un est le nombre qui prédit le comportement des bases de données; le débit séquentiel est le nombre qui apparaît dans le marketing.
IOPS en pratique
Lorsque vous exécutez réellement un serveur, les IOPS sont ce que vous surveillez lorsque les requêtes ralentissent. Vous examinez la latence de lecture aléatoire 4K de votre base de données et voyez si le disque est le goulot d'étranglement. Si c'est le cas, vous passez au NVMe ou ajoutez plus de disques. Ignorez-le et votre application rampe sous charge, et chaque requête lente vous coûte des utilisateurs. Vous pouvez modifier votre configuration de stockage, mais ce n'est pas instantané : descendre d'un niveau nécessite une reconstruction, et un NVMe supplémentaire s'ajoute comme deuxième périphérique de bloc. Si vous vous trompez, votre serveur semble rapide lors des tests mais tombe en production.
Ce qu'on comprend mal à propos de IOPS
L'idée reçue est que les IOPS sont un chiffre fixe. Ce n'est pas le cas ; cela dépend de la profondeur de file d'attente et de la taille des blocs. Un disque peut revendiquer des IOPS élevées à des profondeurs de file d'attente élevées, mais ce qui compte pour les bases de données, c'est le 4K aléatoire à une profondeur de file d'attente de un. La correction : si vous comparez le stockage sur la base de chiffres marketing, vous choisirez le mauvais périphérique. Regardez le chiffre à profondeur de file d'attente de un.
IOPS — questions fréquentes
Quelle profondeur de file d'attente devrais-je utiliser pour tester les IOPS ?
Pour les charges de travail de bases de données, utilisez une profondeur de file d'attente de un. C'est le nombre qui prédit le comportement réel, car la plupart des requêtes OLTP émettent des lectures uniques et indépendantes. Des profondeurs de file d'attente plus élevées peuvent gonfler les chiffres d'IOPS mais ne reflètent pas la façon dont votre base de données accède réellement au disque.
En quoi les IOPS diffèrent-ils du débit ?
Les IOPS comptent les opérations individuelles par seconde ; le débit mesure les octets par seconde. Un transfert séquentiel comme une sauvegarde peut atteindre un débit élevé mais de faibles IOPS, tandis qu'une base de données effectue de nombreuses petites lectures aléatoires, donc les IOPS importent davantage. Le marketing cite souvent le chiffre séquentiel.
Où IOPS intervient
- De combien le NVMe est-il plus rapide que le SSD SATA ? Environ cinq fois les IOPS aléatoires — environ 500 000 contre 90 000 — et environ cinq fois la latence en moins, sous 0,1 ms contre environ 0,5 ms. Le déb…
- NVMe vs SSD vs HDD pour un VPS Le NVMe atteint environ 500 000 IOPS aléatoires avec une latence inférieure à 100 microsecondes ; un SSD SATA gère environ 90 000 IOPS ; un HDD à 7 200 tr/…
- Comment benchmarker un VPS ? Mesurez les trois choses qui varient réellement : le CPU mono-thread avec sysbench, le disque avec fio en lecture/écriture aléatoire 4K, et le réseau avec …
Plus de stockage
- NVMe
- NVMe est un protocole de stockage qui connecte des disques à semi-conducteurs directement via PCIe, atteignant environ 500 000 IOPS aléatoires avec une latence inférieure à 100 microsecondes.
- RAID 10
- RAID 10 reflète les données sur des paires de disques et répartit les données sur ces miroirs, offrant à la fois redondance et hautes performances au prix de la moitié de la capacité brute.
- Instantané
- Un instantané est une copie ponctuelle d'un disque de machine virtuelle, prise instantanément et stockée sur la même infrastructure.