Voici une petite règle de calcul que je rappelle à bon nombre de mes clients depuis quelques années afin d’optimiser le ration capacité/Performance dans des environnements RAID sur des baies de stockage.
Calcul du ratio capacité/débit pour le dimensionnement d’une allocation de volumétrie :
0 – Exemple de contexte
Exemple d’une application ayant une taille de 1TB et générant 4900 iops avec une taille d’i/o de 4KB.
La baie de stockage contient des disques ayant les caractéristiques suivantes:
– Rotation : 15000tpm
– Taille : 100GB
– Temps d’accès : 5ms
– Taux de transfert : 40MB
Pour savoir combien de disques il faut afin de respecter le profil IOPS de l’application il faut calculer les éléments suivants :
1 – Temps de service du disque :
Calcul : Temps d’accès moyen + latence de rotation + temps de transfert des données
Temps d’accès moyen : 5ms
Latence de rotation : Correspond au temps de 1/2 rotation complète du disque.
Donc [0.5/15000/60] = 2ms
Temps de transfert de données : Un IO de 4KB à un taux de transfert de 40MB/s équivaut à 4KB/40MB/s = 0,1ms
Le temps moyen pour transférer un I/O est donc de 5ms+2ms+0,1ms = 7,1ms
2 – IOPS maximales générées par le disque :
Calcul : 1/Temps de service du disque -> 1/7,1ms = 0,140 X 1000 : 140 IOPS
Pour qu’un contrôleur disque puisse répondre correctement les taux de transferts ne doivent pas dépasser 70% des capacités sous peine de pénaliser le taux de transfert.
Donc l’IOPS maximal de ce disque correspond à : 0,7 X 140 = 98 IOPS
3 – Calcul du nombre de disque requis :
Profil performance : 4900/98 = 50 disques
Profil stockage pur (archivage) : 1TB/100GB = 10 disques
Finalement le nombre de disque correspond à :
Maximum (profil stockage, profil performance)
Maximum (10,50) = 50 disques pour répondre aux exigences de performances de l’application.
Cette règle de calcul est tout le temps valide modulo la technologie utilisée par le constructeur, la pénalité du type de RAID utilisé et bien entendu les options de compression/déduplication/compaction activées. Car effectivement ces options impactent à la fois les disques et leurs contrôleurs mais également les grappes de processeurs et les ressources de BUS, de cache et de RAM qui y sont associés.
Dans ce cadre il vaudra donc toujours un peu plus privilégier la configuration de type « performance » pour atténuer les impacts cités plus haut, à moins bien entendu de ne souhaiter qu’une simple baie d’archivage sans besoin de performance auquel cas l’exacte capacité modulo quelques spares suffit en général amplement.