Solution 1 :
Les transactions sont des commandes IO uniques (bloc de récupération/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 vont au contrôleur de disque (tps pour sda).
Les bons contrôleurs peuvent avoir leur propre logique qui réduit davantage le nombre réel de transactions.
Une transaction peut être la commande SCSI "écrire 2 Go sur 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 débits.
Ce que vous recherchez, c'est le taux d'écriture soutenu. Vous avez ici quelques facteurs limitants :
- connexion client :si le réseau est Gigabit, vous n'aurez jamais plus de 100 Mo/s en entrée
- contrôleur de disque :s'il s'agit d'un contrôleur de 3 Go, vous n'aurez jamais plus de 300 Mo/s de débit
- disque :recherchez la valeur des fabricants pour des performances d'écriture soutenues
- Système de fichiers :il y a un peu de surcharge puisque le système d'exploitation doit traiter les données - testez cela dans un disque RAM...
Ma supposition pour votre système est la suivante :obtenez un bon contrôleur de raid matériel capable de faire un raid 10 ou 5 et obtenez au moins 6 disques rapides (15k).
Pour un usage professionnel, utilisez SAS au lieu de SATA.
Solution 2 :
Veuillez également noter que TPS
la valeur représente les lectures et les écritures, vous pouvez utiliser -x
commutateur pour une vue étendue où les lectures et les écritures sont séparées (r/s =lire IOPS, w/s =écrire IOPS) :
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