Un regard approfondi sur l'IOPS

Dans les fiches techniques des dispositifs de stockage, qu'il s'agisse de SSDDans les spécifications des disques des entreprises, des baies de stockage ou des services en nuage, le terme "IOPS" est presque toujours mentionné à plusieurs reprises. Les promotions de produits mettent souvent en avant des "millions d'IOPS" ou des "performances aléatoires ultra-élevées" comme arguments de vente clés. Cependant, pour de nombreux utilisateurs, l'IOPS reste un terme technique qui semble important mais qui n'est pas entièrement compris. Parmi les nombreux paramètres permettant de mesurer les performances de stockage, l'IOPS est un concept crucial mais souvent mal compris. Il agit comme un juge invisible, déterminant discrètement la facilité avec laquelle un système gère le multitâche et l'accès aléatoire aux données. La compréhension de l'IOPS nous aide à voir clair dans les affirmations marketing et à vraiment saisir la nature des performances des dispositifs de stockage.
oscoo examen approfondi de l'iops article header img examen approfondi de l'iops

Qu'est-ce que l'IOPS ?

IOPS signifie Input/Output Operations Per Second (opérations d'entrée/sortie par seconde). Il s'agit d'une mesure de performance fondamentale qui évalue le nombre d'opérations d'entrée/sortie par seconde (IOPS). lecture/écriture commandes qu'une unité de stockage peut traiter par seconde. Une analogie simple : imaginez qu'une unité de stockage soit un guichet de banque. L'IOPS ne mesure pas la quantité d'argent qui passe par le guichet en une minute, mais le nombre de transactions traitées au cours de cette minute - qu'il s'agisse de dépôts, de retraits ou de transferts, chacun compte pour une opération. Par conséquent, l'IOPS mesure principalement la capacité de traitement ou l'efficacité de réponse d'un système de stockage, en se concentrant sur la fréquence des opérations, et non sur la quantité de données déplacées par opération. Qu'il s'agisse de lire un petit document de quelques Ko sur un disque SSD rapide ou d'écrire un fichier volumineux de plusieurs Go sur un disque dur traditionnel, chaque demande de lecture/écriture indépendante peut être comptabilisée dans l'IOPS. Comprendre que l'IOPS se concentre sur le nombre d'opérations, et non sur le volume de données, est la première étape pour comprendre correctement sa signification.

Pourquoi l'IOPS est-il important ?

L'importance de l'IOPS découle d'un changement fondamental dans le fonctionnement des environnements informatiques modernes. Les premières utilisations des ordinateurs étaient relativement simples, impliquant souvent une seule tâche importante à la fois, comme la lecture ou l'écriture d'un grand fichier séquentiel. Dans ce cas, le goulot d'étranglement des performances était souvent la vitesse de transfert des données, c'est-à-dire le débit. Cependant, les systèmes d'exploitation et les applications d'aujourd'hui effectuent constamment des opérations multitâches hautement concurrentes. Lorsque vous ouvrez simultanément un navigateur, un logiciel de bureautique, des outils de communication et même de la musique en arrière-plan, le système d'exploitation doit gérer un grand nombre de demandes de lecture/écriture éparses provenant de différents programmes.
oscoo 2b banner 1400x475 1 Un regard approfondi sur l'IOPS
La plupart de ces demandes sont réparties de manière aléatoire entre différents emplacements du périphérique de stockage, et non de manière séquentielle et ordonnée. C'est comme un carrefour routier très fréquenté : ce qui importe le plus n'est pas la vitesse maximale autorisée sur une seule voie, mais la capacité du carrefour à gérer le flux de trafic en provenance de toutes les directions - le nombre de véhicules qui peuvent traverser le carrefour par seconde sans encombrement. Une capacité IOPS élevée garantit qu'en cas d'accès massif, aléatoire et simultané aux données, l'unité de stockage peut répondre rapidement à chaque demande. Ainsi, plusieurs programmes semblent s'exécuter en douceur simultanément, sans décalage du système dû à l'engorgement de l'unité de stockage. Ainsi, dans les applications quotidiennes dominées par des opérations de lecture/écriture aléatoires, un IOPS élevé détermine directement la réactivité du système et la fluidité de l'expérience de l'utilisateur.

Que mesure spécifiquement l'IOPS ?

Pour bien comprendre l'IOPS, il est essentiel de le distinguer d'une autre mesure courante, le débit, souvent appelé vitesse de transfert (MB/s). L'IOPS se concentre sur le nombre d'opérations de lecture/écriture indépendantes que l'unité de stockage peut exécuter par seconde, mesurant ainsi sa capacité à gérer des tâches discrètes. Le débit se concentre sur la quantité totale de données transférées avec succès par unité de temps, mesurant ainsi la largeur de bande du flux de données. La relation entre les deux est influencée par un facteur clé : la taille du bloc de données demandé par opération de lecture/écriture. La conversion est simple :
Vitesse de transfert (MB/s) ≈ IOPS × Taille du bloc (généralement en Ko) / 1024
Cela signifie que pour un IOPS fixe, la taille du bloc de données détermine directement la vitesse de transfert. Par exemple, un dispositif de stockage capable d'atteindre 10 000 IOPS. Lorsqu'il traite de petits blocs de données typiques de 4 Ko, sa vitesse de transfert est d'environ 10 000 × 4 Ko / 1024 ≈ 39 MB/s. Cette vitesse ne semble pas très élevée. Cependant, lorsque le même appareil traite de grands blocs de 1MB, sa vitesse devient 10 000 × 1MB / 1024 ≈ 9,8 GB/s, une vitesse très impressionnante. Cet exemple montre clairement qu'une IOPS élevée n'est pas nécessairement synonyme de vitesse de transfert élevée pour les fichiers volumineux. Inversement, un appareil affichant des vitesses de lecture/écriture séquentielles très élevées peut avoir un faible taux d'IOPS lorsqu'il traite des petits fichiers massifs, ce qui se traduit par des performances médiocres. Par conséquent, discuter de l'IOPS ou de la vitesse de transfert de manière isolée, sans tenir compte de la taille des blocs et des schémas d'accès, est incomplet.

Comment l'IOPS est-il testé ?

La valeur IOPS n'est pas un nombre fixe absolu ; elle dépend fortement des conditions de test. Pour obtenir des données IOPS significatives ou comprendre correctement les spécifications publiées par les fournisseurs, nous devons connaître les principaux paramètres de test. (PS : Les tests nécessitent des outils de benchmark spécialisés, comme CrystalDiskMark pour les utilisateurs généraux, ou des outils de ligne de commande plus puissants et plus flexibles comme FIO).
Les principaux paramètres à définir sont le type de lecture/écriture et la taille du bloc.
  • Types de lecture/écriture. Il en existe deux types principaux : Séquentiel et Aléatoire. La lecture/écriture séquentielle simule la lecture/écriture d'un seul fichier volumineux, comme la copie d'un film. La lecture/écriture aléatoire simule l'exécution d'un système d'exploitation ou d'une base de données, nécessitant la lecture/écriture fréquente de nombreux petits fichiers dispersés sur le disque - un test majeur pour les performances de stockage.
  • Taille du bloc. La taille de 4 Ko est presque la norme par défaut pour les critères de référence de l'industrie. En effet, les structures des systèmes de fichiers des systèmes d'exploitation modernes et la plupart des demandes d'E/S générées par les applications tournent autour de la taille de page de 4 Ko. L'utilisation d'une taille standard facilite la comparaison entre les dispositifs. C'est pourquoi, sauf indication contraire, la mesure "Random Read/Write IOPS" (lecture/écriture aléatoire) se réfère généralement à la valeur mesurée avec une taille de bloc de 4 Ko.
Un autre paramètre clé est la profondeur de la file d'attente (QD), qui peut être considérée comme le nombre de commandes que le système envoie simultanément à l'unité de stockage. Une profondeur de file d'attente plus élevée permet de mieux utiliser le potentiel de traitement parallèle du contrôleur de stockage. Par exemple, un article sur un disque SSD NVMe haute performance pour entreprise peut indiquer ce qui suit : " L'IOPS de lecture aléatoire maximale (4 Ko, QD=32) atteint 1 million ". Ce chiffre peut être des dizaines de fois plus élevé que les IOPS mesurées à QD=1, ce qui montre les performances maximales de l'appareil en cas de forte charge simultanée.
Enfin, il est essentiel de faire la distinction entre les performances maximales et les performances constantes. De nombreux tests montrent par défaut des performances maximales dans des conditions de stress élevées et de courte durée, lorsque le cache SLC du disque SSD n'est pas épuisé, ce qui donne des résultats impressionnants. Mais il est plus important de mesurer les performances en régime permanent, c'est-à-dire le niveau auquel les performances se stabilisent après une activité de lecture/écriture intense et prolongée. Cette mesure reflète mieux les performances réelles de l'appareil en cas de charge extrême et de stabilité à long terme.

Principaux facteurs influençant l'IOPS

La performance IOPS d'un dispositif de stockage n'est pas déterminée par un seul facteur, mais par l'effet combiné du matériel et du logiciel sous-jacents. Les principaux facteurs d'influence sont les suivants
  1. Type de support de stockage. Il s'agit du facteur le plus fondamental. L'IOPS des disques durs est limité par le temps de recherche physique des têtes de lecture/écriture, qui n'est généralement que d'environ 200. Les disques SSD utilisent un signal électronique, éliminant le délai mécanique, ce qui permet d'atteindre des dizaines de milliers, voire des millions d'IOPS.
  2. Interface et protocole. L'interface est le chemin des données ; le protocole est la règle de communication. L'interface SATA et le protocole AHCI ont été conçus pour l'ère des disques durs ; leur bande passante et leur efficacité de commande limitent les performances des disques SSD. Le protocole NVMe avec l'interface PCIe offre une bande passante élevée et une faible latence, conçu spécifiquement pour les disques SSD à haut taux d'IOPS.
  3. Algorithmes des contrôleurs et des microprogrammes. Le contrôleur est le cerveau de l'unité de stockage. Une puce de contrôleur puissante peut gérer efficacement des demandes simultanées dans des files d'attente très longues. Les algorithmes avancés du micrologiciel optimisent les processus de lecture/écriture, la collecte des déchets et le nivellement de l'usure, déterminant directement les pics d'IOPS et la stabilité.
  4. Lecture/écriture Type. En général, l'IOPS de lecture est plus élevé que l'IOPS d'écriture. En particulier sur les disques SSD, les écritures peuvent nécessiter une étape d'effacement préalable, ce qui fait que l'IOPS d'écriture aléatoire est souvent le goulot d'étranglement des performances et un indicateur clé de la qualité globale de la conception du disque.
  5. Profondeur de la file d'attente. Comme indiqué dans les tests, des profondeurs de file d'attente plus élevées permettent de mieux exploiter le potentiel de traitement simultané du matériel. Par conséquent, la prise en charge de profondeurs de file d'attente élevées est une condition de base pour que le matériel atteigne un taux d'IOPS élevé.

Relation entre l'IOPS et d'autres mesures de performance

Pour évaluer pleinement les performances du stockage, il ne faut pas considérer l'IOPS de manière isolée, mais la combiner avec d'autres mesures telles que la latence et le débit. Ils forment une image interconnectée des performances.
  • IOPS vs. latence. Il s'agit de la relation essentielle. La latence mesure le temps nécessaire à la réalisation d'une opération d'E/S. L'idéal est d'avoir un nombre élevé d'IOPS avec une faible latence. Mais lorsque la charge augmente et que l'IOPS s'approche de la limite de l'appareil, les demandes se mettent en file d'attente et la latence augmente de manière significative. Par conséquent, une IOPS élevée n'a de valeur pratique que si elle s'accompagne d'une faible latence ; sinon, c'est comme un poste de péage encombré - le nombre total de véhicules qui passent peut être élevé, mais le temps d'attente de chaque véhicule est long.
  • IOPS vs. débit :Ils sont liés par la "taille du bloc" selon la formule suivante : Débit ≈ IOPS × Taille du bloc. Leur objectif est différent : Un taux d'IOPS élevé est essentiel pour les applications impliquant la lecture/écriture aléatoire de petits fichiers massifs, tandis qu'un débit élevé favorise la lecture/écriture séquentielle de fichiers volumineux. Un bon dispositif de stockage doit être performant dans les deux modes.
  • IOPS et QoS (qualité de service) :Dans les scénarios avancés, l'IOPS moyen n'est pas suffisant ; la qualité de service est importante. La qualité de service se concentre sur la stabilité de l'IOPS et de la latence, garantissant des temps de réponse prévisibles pour la grande majorité des demandes. Une mesure clé est la latence de queue, qui garantit que 99,9% ou même 99,99% des demandes d'E/S ont une latence inférieure à un certain seuil. Cela permet d'éviter que quelques requêtes très lentes n'aient un impact sur l'expérience globale, ce qui est crucial pour les bases de données, la virtualisation et d'autres tâches critiques.

Signification pratique des IOPS dans différents scénarios

L'importance de l'IOPS varie selon les scénarios d'application. Comprendre les différents besoins permet de faire des choix plus judicieux en matière de stockage.
  • Informatique grand public/personnelle :Dans ce cas, l'expérience de l'utilisateur dépend fortement de l'IOPS de lecture aléatoire de l'unité de stockage. Un taux élevé d'IOPS en lecture aléatoire raccourcit considérablement les temps de démarrage du système d'exploitation, accélère le chargement des applications (navigateurs, suites bureautiques) et réduit les bégaiements lors du chargement des jeux. Pour la plupart des utilisateurs, un SSD SATA ou un SSD NVMe d'entrée de gamme avec de bonnes performances en lecture aléatoire offre une amélioration transformatrice.
  • Serveurs d'entreprise et bases de données. Il s'agit de l'un des scénarios les plus exigeants en matière d'IOPS, qui nécessite notamment un taux élevé d'IOPS en lecture/écriture aléatoire et une très faible latence. Les systèmes de gestion de bases de données (Oracle, MySQL, par exemple) qui traitent des transactions en ligne doivent lire/écrire instantanément de nombreux petits blocs de données dispersés. Les plates-formes de virtualisation (par exemple, VMware) qui exécutent simultanément plusieurs machines virtuelles génèrent des charges d'E/S denses et aléatoires. Dans ce cas, la stabilité et la cohérence des IOPS (QoS) sont souvent plus importantes que les performances de pointe, car toute fluctuation peut directement perturber l'activité de l'entreprise.
  • Analyse de l'IA et des données massives (Big Data) :Ces scénarios ont des besoins complexes, nécessitant souvent une combinaison de débit et d'IOPS élevés. Pendant la phase de préparation des données pour l'entraînement des modèles d'IA, la lecture rapide d'un grand nombre de fichiers d'échantillons d'entraînement (souvent de nombreux petits fichiers) nécessite un nombre élevé d'IOPS. Au cours du processus d'apprentissage proprement dit, la lecture séquentielle de grands lots de données tend à s'imposer, ce qui implique un débit de lecture séquentielle élevé. Les disques SSD NVMe haute performance, voire les architectures NVMe-oF, sont donc privilégiés dans ces domaines.

Limites de l'IOPS

Bien que l'IOPS soit une mesure clé des performances de stockage, il peut être trompeur de trop s'y fier ou de la considérer de manière isolée. Nous devons reconnaître ses limites pour éviter le piège des "chiffres uniquement".
  • Pic et monde réel :Un nombre d'IOPS élevé n'est pas toujours synonyme d'une excellente expérience utilisateur dans le monde réel. Les chiffres d'IOPS des fournisseurs correspondent souvent à des performances maximales mesurées dans des conditions de laboratoire idéales (par exemple, profondeur de file d'attente élevée, test court). Il est difficile de reproduire ces conditions dans le cadre d'une utilisation quotidienne, où les opérations de l'utilisateur ressemblent à de faibles profondeurs de file d'attente, et où les IOPS peuvent être beaucoup plus faibles. Un disque offrant des IOPS stables et à faible latence à des profondeurs de file d'attente faibles est souvent plus intéressant qu'un disque qui n'affiche que des chiffres élevés à des profondeurs de file d'attente élevées.
  • Masque les variations de latence. L'IOPS, en tant que moyenne, ne peut pas révéler la distribution de la latence pour les demandes d'E/S individuelles. Il compte le nombre total d'opérations par seconde, mais n'indique pas s'il y a quelques requêtes extrêmement lentes. Ces requêtes à forte latence, la "latence de queue", bien que peu nombreuses, peuvent provoquer des bégaiements de l'application ou des pannes de la base de données. Pour les applications nécessitant une cohérence parfaite, il est bien plus important de s'assurer que 99,9% des requêtes sont inférieures à un certain seuil de latence que de chercher à obtenir un nombre moyen d'IOPS élevé.
  • Durabilité des performances. Les tests IOPS standard ne reflètent souvent pas la stabilité des performances en cas de charge élevée prolongée. De nombreux disques SSD utilisent un cache SLC pour maintenir des vitesses très élevées au départ ; une fois le cache épuisé, les vitesses d'écriture peuvent chuter de manière significative. Par conséquent, les "performances stables" du disque après une écriture soutenue pendant des dizaines de minutes ou des heures sont plus significatives que les "performances maximales" des premières secondes. En outre, l'IOPS en soi ne dit rien sur la sécurité des données ou l'endurance du disque ; un disque à IOPS élevé peut présenter des bogues de micrologiciel ou avoir une durée de vie courte.

Comment visualiser correctement les IOPS ?

  1. Premier scénario. Avant d'évaluer une mesure, définissez votre principal cas d'utilisation. Pour les tâches grand public (travail de bureau, navigation sur le web, jeux), un SATA SSD ou un disque SSD NVMe d'entrée de gamme avec des IOPS de l'ordre de quelques dizaines à quelques centaines de milliers (par exemple, 100k-500k IOPS en lecture aléatoire) offre déjà une expérience très fluide. La recherche aveugle de millions d'IOPS n'offre qu'une amélioration perceptible minimale. Inversement, pour les scénarios d'entreprise (bases de données, virtualisation, HPC), choisissez SSD d'entreprise avec des IOPS stables de centaines de milliers ou de millions+, en mettant l'accent sur une faible latence.
  2. Considération globale. Ne vous fiez jamais uniquement au nombre d'IOPS, mais combinez-le avec d'autres mesures et facteurs.
    • IOPS et latence : un disque affichant 800 000 IOPS en lecture aléatoire avec une latence moyenne inférieure à 0,1 ms sera nettement meilleur qu'un disque affichant 1 million d'IOPS mais une latence de 1 ms.
    • Se concentrer sur l'état stable : dans les évaluations professionnelles, les performances d'un disque peuvent passer d'un pic de 500k IOPS à une valeur stable de 150k IOPS après 30 minutes à pleine charge. Cette "valeur stable" est plus importante que le pic.
    • Tenez compte de l'endurance et de la garantie : vérifiez toujours la période de garantie et la valeur TBW (Total Bytes Written). Par exemple, la garantie d'un SSD de 1 To peut être de 5 ans ou de 600 TBW, ce qui en dit plus long sur la fiabilité à long terme que le simple nombre d'IOPS.
  1. Faire preuve de rationalité en ce qui concerne les critères de référence. Les scores de référence sont des outils de référence importants, mais pas des normes absolues. Ils permettent d'affiner rapidement les choix, par exemple en comparant l'IOPS de différents modèles de disques SSD au même niveau de prix avec des paramètres de test identiques. Mais la décision finale doit également prendre en compte les avis des utilisateurs concernant les performances réelles dans le temps, les rapports sur les taux de défaillance et la réputation de la marque, car ils reflètent le comportement global du produit dans le monde réel.
Dans le monde des performances de stockage, l'IOPS est une mesure essentielle qui révèle la capacité de base d'un périphérique à gérer des requêtes simultanées. Cependant, comme nous l'avons vu, ce n'est qu'une pièce du puzzle. Pour évaluer véritablement les performances, il faut aller au-delà d'un simple chiffre et avoir une vue d'ensemble. L'essence du stockage haute performance réside dans un équilibre subtil entre plusieurs dimensions. Au-delà des IOPS, la latence détermine la réactivité, le débit affecte l'efficacité du transfert de données volumineuses et la stabilité à long terme est essentielle pour la continuité de l'activité. Ces mesures sont interconnectées ; une faiblesse dans l'une d'entre elles peut devenir un goulot d'étranglement dans le monde réel. Pour les utilisateurs, la sélection et l'évaluation des dispositifs de stockage passent par une analyse rationnelle des IOPS et une concentration sur les performances globales dans des conditions réelles.
Défiler vers le haut

Nous contacter

Remplissez le formulaire ci-dessous et nous vous contacterons dans les plus brefs délais.

Formulaire de contact