J'essaie d'estimer les exigences d'IOPS de mon application fonctionnant sur 32 bits Centos 6.2. J'ai commencé à prendre des mesures sur une machine avec des disques SATA et je suis assez confus de différence entre les iops et les TPs mesurés par SAR.
Selon - Wikipedia SATA Disk devrait effectuer 75-100 iops. tilitaire ioping Semble confirmer cela pour un 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 blocs) ou un accès aléatoire (ioping), la valeur est toujours la même. Je pensais que TPS est en fait des iops et je m'attendrais à ce que cela descendra avec des morceaux plus importants transférés.
Alors qu'est-ce que la valeur TPS signifie exactement? Et comment se rapporte-t-il aux iops?
Les transactions sont des commandes IO simples (bloc de blocage/écriture) qui sont écrites sur le disque brut (dans votre exemple DM-0). Le noyau Linux tente de commander ces commandes dans une meilleure séquence ou tente de les comprimer dans des commandes plus efficaces (comme: obtenez deux blocs à la fois au lieu d'obtenir un bloc et d'obtenir un autre bloc juste après celui-ci). Ce sont les transactions qui sortent au contrôleur de disque (TPS pour SDA).
Les bons contrôleurs MIGTH ont une logique de leur propre capacité à réduire davantage le nombre réel de transactions.
Une transaction peut être la commande SCSI "écrire 2 Go à Crontoller 1 cible 2 LUN 3 à partir du secteur 22). Comme vous pouvez le constater que cela ne peut pas être amené en corrélation directe avec les numéros de débit.
Ce que vous êtes après est le taux d'écriture soutenu. Vous avez quelques facteurs limitants ici:
Je suppose que votre système est: obtenez un bon contrôleur de raid-raid capable de faire RAID 10 ou 5 et d'obtenir au moins 6 disques rapides (15k).
Pour une utilisation professionnelle, utilisez SAS au lieu de SATA.
Veuillez également savoir que la valeur TPS
représente des lectures et des écrites, vous pouvez utiliser -x
Basculer pour une vue étendue où se trouve et écrivez des écritures (r/s = iops de lecture, w/s = iops d'écriture):
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
vda 0.07 24.65 0.30 18.95 30.65 330.22 18.74 0.07 3.61 0.98 1.89