Mesure de vitesse étrange de la copie de fichier ZFS sur AFP

0

J'ai vérifié la vitesse de mon serveur de stockage ZFS. J'ai quelques gros fichiers (> 30 Go) et je me sers de ddpiped /dev/nullpour vérifier la vitesse de lecture.

Lorsque ddje cours pour un fichier spécifique pour la première fois, j'obtiens un résultat cohérent d'environ 95 Mo / s. J'ai utilisé les deux signaux et pvpour suivre les progrès et ils ont donné des résultats égaux.

Cependant, lors ddde la deuxième exécution , il se produit une chose inhabituelle:

407+0 records in
406+0 records out
425721856 bytes (426 MB, 406 MiB) copied, 4.61932 s, 92.2 MB/s
911+0 records in
910+0 records out
954204160 bytes (954 MB, 910 MiB) copied, 9.66672 s, 98.7 MB/s
1412+0 records in
1411+0 records out
1479540736 bytes (1.5 GB, 1.4 GiB) copied, 14.7018 s, 101 MB/s
12374+0 records in
12373+0 records out
12974030848 bytes (13 GB, 12 GiB) copied, 19.7579 s, 657 MB/s
12854+0 records in
12853+0 records out
13477347328 bytes (13 GB, 13 GiB) copied, 24.7491 s, 545 MB/s

Qu'est-ce qui cause la pointe soudaine de 1,5 à 13 Go? Je pense que le cache ZFS est responsable (le serveur dispose de 64 Go de RAM, ce qui pourrait être possible), mais le serveur (FreeBSD) est connecté à mon client (OSX) via un seul lien de 1 Gbps qui ne pourrait certainement pas gérer 657 Mo / s. la vitesse. La compression est également peu probable car le fichier contient des données presque aléatoires.


Edit: Désolé, j'ai peut-être posé ma question d'une manière confuse.

J'ai un serveur FreeBSD avec le système de fichiers ZFS. Ce serveur partage le fichier en utilisant le protocole AFP. Je me connecte à ce dernier à l'aide d'un ordinateur de bureau sous OSX 10.10. Et bien sûr, je cours ddsur le client.

dd if=/Volumes/NetworkShare/testfile.dat of=/dev/null bs=1048576

Lorsqu’il est exécuté directement sur le serveur, il ddaffiche plus de 625 Mo / s (ce qui semble bien car zpool dispose de données réparties sur 8 lecteurs).

utilisateur569120
la source
Cela ressemble presque à la croissance du fichier, ce qui est incompatible avec votre description de ce que vous faites. S'il vous plaît modifier votre question d'inclure les commandes exactes que vous utilisez qui produit la sortie dans la question. Pour le moment, j'ai voté en faveur de la mise en attente de votre question car "ce que vous demandez n'est pas clair" afin d'éviter que les gens ne prennent le temps de répondre aux mauvaises questions. Si la question est mise en attente avant de pouvoir la modifier, sachez que le fait de la modifier pendant la période de grâce "en attente" désignera automatiquement la question pour la relecture.
un CVn

Réponses:

0

Tout d’abord, veuillez inclure la ddcommande que vous avez utilisée pour exécuter le test. Comme indiqué dans le commentaire, le fichier écrit grossit et il est donc probable que quelque chose ne va pas (à moins que chaque test ne copie un fichier différent). Également, à ce stade, le volume de données que vous écrivez est important, c’est-à-dire que les bsoptions doivent être suffisamment volumineuses. Reportez-vous à la section Test de la vitesse d' exécution ZFS pour un exemple.

Deuxièmement, vous pouvez utiliser l'outil diskinfo pour obtenir la vitesse théorique maximale de votre disque, par exemple:

diskinfo -tv /dev/ada0

Troisièmement, je recommanderais d'essayer différents outils pour obtenir une image plus large, par exemple iozone, mentionnée dans le fil de discussion que j'ai posté.

Enfin, lorsque vous copiez un fichier, /dev/nullles données ne quittent jamais votre serveur. Donc, vous avez raison, la différence de vitesse est probablement due à la mise en cache ZFS. Essayez de copier le fichier sur le réseau et vous ne pourrez pas obtenir plus de 100 Mb / s (la vitesse théorique d'un lien 1 Gbit est de 125 Mb / s).

Greg
la source