J'essaie d'estimer les exigences IOPS de mon application exécutée sur CentOS 6.2 32 bits. J'ai commencé à prendre des mesures sur une machine avec des disques SATA et je suis assez confus de la différence entre IOPS et tps mesurés par sar.
Selon wikipedia, le disque SATA devrait effectuer 75 à 100 IOPS. l'utilitaire ioping semble le confirmer pour le test d'accès aléatoire:
# ./ioping -R /dev/sda
--- /dev/sda (device 931.0 Gb) ioping statistics ---
279 requests completed in 3.0 s, 92 iops, 371.3 kb/s
min/avg/max/mdev = 2.7 ms / 10.8 ms / 130.8 ms / 7.9 ms
Mais les valeurs tps produites par sar sont beaucoup plus élevées (/ dev / sda):
# iostat 1
avg-cpu: %user %nice %system %iowait %steal %idle
0.17 0.00 2.02 14.86 0.00 82.96
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 559.00 0.00 142600.00 0 142600
dm-0 18433.00 0.00 147464.00 0 147464
dm-1 0.00 0.00 0.00 0 0
dm-2 0.00 0.00 0.00 0 0
Cela ne dérange pas vraiment si cette charge est séquentielle (dd avec différentes tailles de bloc) ou à accès aléatoire (ioping), la valeur est toujours la même. Je pensais que tps était en fait IOPS et je m'attendrais à ce qu'il baisse avec de plus gros morceaux transférés.
Alors, que signifie exactement la valeur tps? Et comment est-ce lié à l'IOPS?
la source
Réponses:
Les transactions sont des commandes IO uniques (bloc d'extraction / bloc d'écriture) qui sont écrites sur le disque RAW (dans votre exemple dm-0). Le noyau linux essaie d'ordonner ces commandes dans une meilleure séquence ou essaie de les compresser en commandes plus efficaces (comme: obtenir deux blocs à la fois au lieu d'obtenir un bloc et obtenir un autre bloc juste après celui-ci). Ce sont les transactions qui sortent vers le contrôleur de disque (tps pour sda).
Les bons contrôleurs migth ont leur propre logique qui réduit encore le nombre réel de transactions.
Une transaction peut être la commande SCSI "écrire 2 Go sur le crontoller 1 cible 2 lun 3 à partir du secteur 22). Comme vous pouvez le voir, cela ne peut pas être mis en corrélation directe avec les nombres de débit.
Ce que vous recherchez, c'est le taux d'écriture soutenu. Vous avez ici quelques facteurs limitatifs:
Ma conjecture pour votre système est: Obtenez un bon contrôleur de raid matériel capable de faire des raids 10 ou 5 et obtenez au moins 6 disques rapides (15k).
Pour un usage professionnel, utilisez SAS au lieu de SATA.
la source
Veuillez également noter que la
TPS
valeur représente les lectures et les écritures, vous pouvez utiliser le-x
commutateur pour une vue étendue où les lectures et les écritures sont séparées (r / s = lire les IOPS, w / s = écrire les IOPS):la source