- Quelle est la différence essentielle entre les IOPS et le débit dans le stockage des données volumineuses ?
- La taille du fichier a-t-elle un effet sur les IOPS ? Pourquoi ?
Réponses
Trop de publicités?Les IOPS mesurent le nombre d'opérations de lecture et d'écriture par seconde, tandis que le débit mesure le nombre de bits lus ou écrits par seconde.
Bien qu'ils mesurent des choses différentes, ils se suivent généralement comme les opérations des OI ont à peu près la même taille.
Si vous avez des fichiers volumineux, vous avez simplement besoin de plus d'opérations d'E/S pour lire l'intégralité du fichier. La taille du fichier n'a aucun effet sur l'IOPS car elle mesure le nombre de clusters lus ou écrits, et non le nombre de fichiers.
Si vous avez de petits fichiers, il y aura plus de surcharge, donc même si les IOPS et le débit semblent bons, les performances réelles peuvent être inférieures.
C'est l'analogie que j'ai trouvée en parlant de débit et d'IOPS.
Pensez-y comme ça :
-
Vous disposez de 4 seaux (blocs Disk) de même taille que vous voulez remplir ou vider d'eau.
-
Vous utiliserez une cruche pour transférer l'eau dans les seaux. Maintenant votre question sera :
-
À un moment donné (par seconde), combien de pichets d'eau pouvez-vous verser (écrire) ou retirer (lire) ? C'est ce qu'on appelle les IOPS.
-
À un moment donné (par seconde), quelle est la quantité (bit, kb, mb, etc.) d'eau que la cruche peut transférer dans/hors du seau en continu ? C'est le débit.
De plus, il y a un retard dans le processus de versement et/ou de retrait de l'eau. C'est la latence.
Il y a 3 choses à prendre en compte lorsqu'on parle d'IOPS et de débit :
- Taille (taille du fichier/taille du bloc)
- Motifs (aléatoires/séquentiels)
- Pourcentage de mélange (lecture/écriture)
Les IOPS du disque décrivent le nombre d'opérations d'entrée/sortie sur le disque par seconde, quelle que soit la taille du bloc.
Le débit du disque décrit le nombre de données pouvant être transférées par seconde. La taille du bloc joue donc un rôle important dans le calcul du débit requis par l'application.
Considérons comme exemple les 3000 IOPS et le moteur de base de données SQL, la taille du bloc en termes de moteur de base de données s'appelle le taille de page et pour SQL Server c'est égal à 8 KB. Si vous souhaitez calculer le débit réel, si les IOPS définis, vous obtiendrez la formule ci-dessous :
throughput = [IOPS] * [block size] = 3000 * 8 = 24 000 KB/s = 24 MB/s
IOPS - Nombre d'opérations de lecture et d'écriture, principalement utile pour les transactions OLTP utilisées dans AWS pour des bases de données comme Cassandra.
Débit - C'est le nombre de bits transférés par seconde, c'est-à-dire le nombre de données transférées par seconde. Il s'agit principalement d'une unité pour les applications à fort transfert de données, comme le Big Data Hadoop, le Kafka Streaming.
IOPS - Le temps pris par un système de stockage pour effectuer une opération d'entrée/sortie par seconde du début à la fin constitue les IOPS.
Débit - La vitesse de transfert des données en mégaoctets par seconde est souvent appelée débit. Auparavant, elle était mesurée en kilo-octets. Mais aujourd'hui, la norme est devenue les mégaoctets.
Pour en savoir plus, voir : Quelle est la différence entre IOPS et débit ?