Bonjour Emmanuel,
On Wed, Jan 29, 2020 at 02:44:23PM +0100, Emmanuel DECAEN wrote:
Bonjour,
[…]
$ fio --name=randfile --ioengine=libaio --iodepth=32 --rw=randwrite --bs=16k --direct=1 --size=4G --numjobs=8 --group_reporting [...] write: IOPS=13.8k, BW=216MiB/s (227MB/s)(32.0GiB/151568msec)
==> fio : 227 Mo/s
Côté iostat sur l'intervalle de temps: $ iostat -xm 60 avg-cpu: %user %nice %system %iowait %steal %idle 0.29 0.00 30.98 9.80 0.00 58.93
Device r/s w/s rMB/s wMB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util sda 0.05 2185.70 0.00 133.04 0.00 5.00 0.00 0.23 21.00 3.34 2.71 4.00 62.33 0.35 77.37 [...] (8 lignes similaires) sdj 0.02 2169.40 0.00 133.04 0.00 4.70 0.00 0.22 48.00 3.45 2.90 4.00 62.80 0.36 77.13
==> iostat: 1330 Mo/s
Côté zpool iostat sur l'intervalle de temps: $ zpool iostat -v 60 capacity operations bandwidth pool alloc free read write read write ------------------------------------------ ----- ----- ----- ----- ----- ----- rpool 73.2G 54.5T 0 19.4K 2.33K 1.30G raidz2 73.2G 54.5T 0 19.4K 2.33K 1.30G ata-ST6000NM0024-1HT17Z_xxxxxxxx-part3 - - 0 1.93K 204 133M [...] (8 lignes similaires) ata-ST6000NM0024-1HT17Z_xxxxxxxx-part3 - - 0 1.92K 68 133M
==> zfs iostat: 1300 Mo/s
Le débit est cohérent entre iostat et zfs iostat. Comment expliquer la différence entre l'écriture faite par fio à 227 Mo/s et celle relevée par les iostat à 1300 Mo/s ?
Je pense qu'on ne peut pas répondre à cette question seulement avec les informations que tu donnes. Je m'explique :
De ce que je comprend, tu génères des données avec fio sur un interval de temps de 60s et pendant ce temps là tu mesures en deux autres points les débits. On trouve respectivement 227 Mo/s et 1300 Mo/s (cette dernière valeur pour les deux points de mesures iostat).
Partant de là ça voudrait dire que d'un côté on a généré 227*60=13620 Mo de données avec fio et qu'on en aurait écrit sur le disque 78000 Mo… C'est quoi les 64380 Mo en trop ?
Je veux bien qu'il y ait un surplus de données à écrire sur les disques en raison des parités calculées pour le raidz2 mais en aucun cas le facteur est de 6. Ici il serait plutôt autour de 20% (2 disques sur 10) soit 1.2…
Est-ce que tu pourrais générer des courbes de toutes ces mesures sur un temps plus long que le temps d'exécution brut de fio (un petit peu avant et un peu après) ?
@+,
Olivier.