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?