Un article en bref sur les IOPS (ou entrée/sortie par seconde) suite à un problème rencontré récemment au boulot. Pour installer un nouveau produit sur un ensemble de serveur, l’éditeur nous avait fourni dans les specs le nombre « iops » recommandés. Sauf que ce n’est absolument pas une information que les constructeurs/vendeurs de disque donnent dans les specs de leurs produits (exemple ici pour un disque SAS chez Dell ). Et ça ne servirai pas non plus à grand chose dans la mesure où le nombre d’entrée/sorties par seconde est fortement impacté par le type de grappe RAID utilisé avec les disques en questions (et d’autres trucs plus exotiques).
Théorie des IOPS
Du coup, comment qu’on fait-on pour calculer ou estimer les IOPS de vos disques en RAID? Bah c’est simple, on lit cet article (en anglais) d’un gars de Symantec qui s’est amusé à reprendre toutes les bases sur les iops : du comment ça marche un disque dur ? A quel est l’impact de mon type de RAID sur les iops ?
Je trouve que l’article est bien fait, du coup je ne vais pas vous le retranscrire ici en français (et ça vous fera du bien de lire un peu d’anglais pour une fois, en plus…). Je vous conseille enfin de ne pas sauter la première partie sur le fonctionnement des disques dur, car les rappels font du bien et surtout il utilise les notions/variables introduites au début dans la suite du texte.
Calculatrice
Sinon pour les moins courageux, vous avez aussi une calculette toute prête à qui vous donner à manger :
- le nombre de disque ;
- leur type ; et
- l’usage prévu en pourcentage de lecture/écriture.
Et qui vous donne pour les principaux type de RAID le nombre d’iops estimés dans un joli tableau à envoyé à vos chefs qui n’y comprennent rien.
C’est par ici…
Test :
Pour ceux qui veulent faire des tests/benchmark de leurs machines, il existe un petit utilitaire sympa sous linux : IOPING. Testé ci dessous sous une VM Debian :
~# apt-get install ioping
En test de « seek rate » :
~# ioping -R /dev/sda
--- /dev/sda (block device 40 GiB) ioping statistics ---
2.79 k requests completed in 3.01 s, 929 iops, 3.63 MiB/s
min/avg/max/mdev = 96 us / 1.07 ms / 19.5 ms / 3.09 ms
En test séquentiel :
~# ioping -RL /dev/sda
--- /dev/sda (block device 40 GiB) ioping statistics ---
1.58 k requests completed in 3.00 s, 529 iops, 132.3 MiB/s
min/avg/max/mdev = 270 us / 1.89 ms / 23.8 ms / 2.79 ms
Dont je vous laisse analyser les résultats après la lecture attentive de l’article de Symantec.
Conclusion
Ce qu’il faut retenir de l’article et de la calculette, et d’ioping :
- Les SSD c’est bon mangez-en ;
- Le nombre d’IOPS sur disque classique varie fortement d’un type à l’autre (SAS 2.5″ 15krpm vs SATA 3.5″ 5200krpm);
- Le type de grappe RAID joue sur les IOPS ;
- Les opérations d’écriture diminue de nombre d’IOPS par rapport à la lecture ; et
- Le Partial Stroking c’est super classe… mais à éviter en entreprise ;
Voilà, lisez l’article de Symantec il est bien (et pour une fois, je peux dire ça sans honte d’un truc de Symantec) et n’hésitez pas à poser des questions dans les commentaires.
@++