En ce qui concerne les IOPS, j'ai vu plusieurs sources sur le Web qui suggèrent que les IOPS d'un nombre donné de disques sont simplement les IOPS d'un seul disque multiplié par le nombre de disques.
Si ma compréhension des IOPS est correcte (et je ne suis pas du tout sûr), j'aurais pensé que la réalité dépendrait - parmi de nombreux autres facteurs - du niveau RAID. Avec RAID 1/10, toutes les données sont dupliquées sur au moins deux disques, ce qui réduit les conflits sur un disque particulier pour certains modèles d'E / S. Cependant, dans les niveaux RAID entrelacés tels que RAID 0/5/6, les données sont distribuées plutôt que dupliquées, ce qui signifie que des demandes de lecture consécutives pourraient concerner la même broche, entraînant un blocage pendant la fin de l'IO précédent. Les écritures sont encore plus contestées.
Je dois ajouter que j'apprécie que la réalité est beaucoup plus complexe en raison de diverses optimisations et d'autres facteurs. Ma question consiste simplement à déterminer si, à un niveau très basique, ma compréhension de ce que signifie l'IOPS est sur la bonne voie. Il se pourrait que mon affirmation selon laquelle les IOPS puissent même être influencés par les niveaux RAID de cette manière indique un malentendu fondamental du concept.
Réponses:
Pour le disque dur , les IOPS sont généralement dominés par le temps d'accès au disque, qui est la somme de la latence de recherche + du retard de rotation + du retard de transfert. Comme ces variables dépendent fortement des modèles d'accès et ont des interactions non évidentes avec la configuration RAID spécifique (par exemple: la taille de la bande) et le contrôleur (par exemple: le réglage anticipé de la lecture), toute réponse simple SERA FAUX.
Cependant, essayons d'avoir un chiffre approximatif. En première approximation, les IOPS garantis par une matrice à n disques doivent être n fois les IOPS d'un seul disque. Cependant, le niveau RAID et le modèle d'accès aux données , en déplaçant le poids entre la latence de recherche / rotation / transfert, modifient considérablement cette approximation de premier ordre.
Permet de faire quelques exemples, en supposant 100 IOPS par disque unique (une valeur typique pour les disques à 7200 tr / min) et les tableaux à 4 disques (sauf pour RAID1, souvent limité à 2 voies uniquement):
Permettez-moi de répéter: ce qui précède sont des approximations simples et presque brisées. Quoi qu'il en soit, si vous voulez jouer avec une calculatrice RAID IOPS (très incomplète), jetez un œil ici .
Maintenant, retournez dans le monde réel. Sur les charges de travail du monde réel, RAID10 est souvent le choix le plus rapide et préféré , conservant des performances élevées même face à une baie dégradée . RAID5 et RAID6 ne doivent pas être utilisés sur des charges de travail sensibles aux performances, sauf si elles sont de nature centrée sur la lecture ou séquentielle. Il convient de noter que les contrôleurs RAID sérieux ont un cache d'écriture différée protégé contre les pertes de puissance, principalement pour surmonter (par une mise en cache de bande lourde) les faibles performances d'écriture aléatoire RAID5 / 6. Ne jamais utiliser RAID5 / 6 avec les contrôleurs RAID cache-moins , à moins que vous ne se soucie pas de la vitesse de tableau.
Les SSD sont des bêtes différentes, pensait-on. Comme ils ont un temps d'accès moyen beaucoup plus faible, les RAID basés sur la parité entraînent une surcharge de performances beaucoup plus faible et sont une option beaucoup plus viable que sur les disques durs. Cependant, dans une petite charge de travail centrée sur l'écriture aléatoire, j'utiliserais de toute façon une configuration RAID10.
la source
C'est juste une question de définitions. Vous pouvez mesurer les IOPS à différents niveaux du système et vous obtiendrez différentes valeurs. Par exemple, supposons que vous ayez deux disques en miroir et que vous écrivez aussi vite que possible. Les IOPS allant aux disques seront deux fois le nombre d'IOPS qu'un seul disque peut gérer avec une charge d'écriture similaire. Mais les IOPS entrant dans le contrôleur seront égaux au nombre d'IOPS qu'un seul disque peut gérer.
Généralement, ce qui nous importe, c'est le nombre d'E / S logiques que nous pouvons intégrer dans la baie et nous ne nous soucions pas particulièrement de ce qui se passe au niveau du disque. Dans ce cas, vous avez raison et l'IOPS dépend du niveau RAID, du nombre de disques, des performances des disques individuels et, dans certains cas, des caractéristiques spécifiques des opérations.
la source