-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
Le 10/04/2018 à 22:14, Nicolas Charles a écrit :
Bonsoir,
Ce test est un test du pire cas possible pour un SSD: écrire des blocs de 4K, avec un oflag=dsync, ça force le SSD a effectivement commiter l'écriture, par tranche de 4Ko.
Oui, c'est l'idée : travailler sur le worst-case pour voir jusqu'où je peux alle r. D'autant que dans mes mesures, les IO en écritures tournent souvent autour de 4 ou 8k et si je fais du sync=always, finalement, je ne suis pas si éloigné de mon use-case.
Avec un bs=512k, le resultat devrait être bien meilleur.
Bonne idée pour vérifier l'hypothèse, quelques résultats avec le 850PRO (j'ai ajusté à 10k blocs pour réduire les temps de test) :
dd if=/dev/zero of=/dev/sdc bs=4k count=10000 oflag=dsync 40960000 bytes (41 MB, 39 MiB) copied, 9,58961 s, 4,3 MB/s
dd if=/dev/zero of=/dev/sdc bs=8k count=10000 oflag=dsync 81920000 bytes (82 MB, 78 MiB) copied, 9,79604 s, 8,4 MB/s
dd if=/dev/zero of=/dev/sdc bs=512k count=10000 oflag=dsync 5242880000 bytes (5,2 GB, 4,9 GiB) copied, 33,53 s, 156 MB/s
dd if=/dev/zero of=/dev/sdc bs=1M count=10000 oflag=dsync 10485760000 bytes (10 GB, 9,8 GiB) copied, 55,5287 s, 189 MB/s
# dd if=/dev/zero of=/dev/sdc bs=4M count=10000 oflag=dsync 41943040000 bytes (42 GB, 39 GiB) copied, 188,248 s, 223 MB/s
Donc pas vraiment mieux. Après, j'ai peur que la vitesse du bus SATA finisse par devenir le bottleneck ici (SATA 3Gbps, j'ai réservé mes ports 6Gbps pour le L2ARC).
En vrai, il faudrait faire le test en se basant sur le cas d'usage effectif du cache ZFS, notamment la granularité d'écriture, pour avoir un test pertinent.
# zfs get sync drbdpool/test drbdpool/test sync always inherited from drbdpool
# dd if=/dev/zero of=/dev/zvol/drbdpool/test bs=4k count=10000 oflag=dsync 40960000 bytes (41 MB, 39 MiB) copied, 93,0686 s, 440 kB/s
OK, là, c'est vraiment tout pourri sur deux disques trad en mirroir.
# zpool add -f drbdpool log /dev/sdc # dd if=/dev/zero of=/dev/zvol/drbdpool/test bs=4k count=10000 oflag=dsync 40960000 bytes (41 MB, 39 MiB) copied, 12,2612 s, 3,3 MB/s
C'est mieux mais loin d'être transcendant. En tout cas nettement plus faible que ce que j'ai pu tester dans des conditions similaires il y a tout juste un mois.
Je ne sais plus trop quoi faire d'autre comme test à ce stade.
Et les anciens disques devaient avoir des blocs plus petits, donc moins d'amplification d'écriture, et j'imagine que tu avais fait des tests avec des kernels pré-Meltdown, qui a un impact assez notable sur les IO
Je n'ai plus les machine sous la main mais je les ai installées au mois de mars donc vraisemblablement avec des kernels qui étaient déjà patchés. Je vais voir si je peux remettre le main sur un disque des OS de l'époque qu'on a dû mettre de côté.
Julien