Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

FreeBSD, ZFS, et "zilog"

8 réponses
Avatar
patpro ~ patrick proniewski
Salut,

Je suis en train de poursuivre mes tests de pré-prod sur mon nouveau
serveur. J'utilise en ce moment sysbench pour simuler différents types
de charge sur les disques.

J'ai deux disques en RAID 1 matériel, partitionné avec une partie UFS et
une partie ZFS.

Les 480 itérations de mon test sur la partie UFS (5 fois les mêmes, en
variant un tas de paramètres) se sont très bien déroulées.
Par contre, coté ZFS, c'est la cata.
Rapidement, j'ai des process sysbench qui ne parviennent plus à rien.
Ils se bloquent dans des états variables et j'ai beau attendre, le
process ne termine pas (soit "RUN", avec les 4 cores du CPU au taquet,
soit "zilog-", soit "zio->i"Š).

par exemple :

(top)
USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
root 17 44 0 13420K 2616K zilog- 0 0:38 0.00% sysbench

(ps)
root 0.0 0.0 pts/1 5:40PM D+ sysbench --num-threads=16 \
--test=fileio --file-total-size=3G --file-test-mode=rndwr run

ZFS semble avoir des gros soucis avec le test "rndwr" (random write).
C'est souvent lui qui coince.

Une idée ?

patpro

--
A vendre : KVM IP 16 ports APC
http://patpro.net/blog/index.php/2008/01/12/133

8 réponses

Avatar
xavier
patpro ~ patrick proniewski wrote:

Une idée ?



64 bits ou 32 bits ?
Quantité de mémoire ?
Paramètres dans /boot/loader.conf ?

--
XAv
In your pomp and all your glory you're a poorer man than me,
as you lick the boots of death born out of fear.
(Jethro Tull)
Avatar
patpro ~ patrick proniewski
In article <1jq27ak.yj1cm33hibbpN%,
(Xavier) wrote:

patpro ~ patrick proniewski wrote:

> Une idée ?

64 bits ou 32 bits ?
Quantité de mémoire ?
Paramètres dans /boot/loader.conf ?



FreeBSD 8.1-RELEASE #0 64 bit, 16 Go de RAM, loader.conf out of the box
(donc vide).

patpro

--
A vendre : KVM IP 16 ports APC
http://patpro.net/blog/index.php/2008/01/12/133
Avatar
xavier
patpro ~ patrick proniewski wrote:

loader.conf out of the box
(donc vide).



Essaie d'y mettre

vm.kmem_size_max="4096M"
vm.kmem_size="4096M"
vfs.zfs.arc_max="1024M"

Plus généralement, il faut lire ça
<http://wiki.freebsd.org/ZFSTuningGuide>
ou bien aussi
<http://www.christopher.compagnon.name/sitewww/zfs.html>

--
XAv
In your pomp and all your glory you're a poorer man than me,
as you lick the boots of death born out of fear.
(Jethro Tull)
Avatar
patpro ~ patrick proniewski
In article <1jq2e0m.jarkqgq4em5xN%,
(Xavier) wrote:

Essaie d'y mettre

vm.kmem_size_max="4096M"
vm.kmem_size="4096M"
vfs.zfs.arc_max="1024M"

Plus généralement, il faut lire ça
<http://wiki.freebsd.org/ZFSTuningGuide>
ou bien aussi
<http://www.christopher.compagnon.name/sitewww/zfs.html>




hmmm. En même temps, dans la Tuning Guide, il précise bien qu'au delà de
la 7.2 on ne devrait pas avoir à tuner tout ça...

Je vais tenter ça :

vm.kmem_size_max="4096M"
vm.kmem_size="4096M"
vfs.zfs.arc_max="3584M"

parce que je trouve dommage de limiter arc à 1 Go quand j'ai 16 Go de
ram, mais je reste sceptique.

je relance mes tests et on verra en fin de journée si ça coince à
nouveau ;)

patpro

--
A vendre : KVM IP 16 ports APC
http://patpro.net/blog/index.php/2008/01/12/133
Avatar
patpro ~ patrick proniewski
In article ,
patpro ~ patrick proniewski wrote:

Je vais tenter ça :

vm.kmem_size_max="4096M"
vm.kmem_size="4096M"
vfs.zfs.arc_max="3584M"



bon, ça n'a pas suffit, j'ai encore un process sysbench qui a bloqué sur
ma partition ZFS.
360-400% CPU, charge de 60, pendant 7h cette nuit (mais I/O nulles)

C'était une de mes 5 itérations à 64 threads du test "rndrd" (random
read).
Une fois killé, les itérations suivantes identiques se sont faites en
moins de temps qu'il ne faut pour le dire.

le fautif :

load averages: 59.37, 59.99, 60.02

CPU: 5.7% user, 0.0% nice, 94.3% system, 0.0% interrupt, 0.0% idle
Mem: 15M Active, 1668M Inact, 2094M Wired, 212K Cache, 1647M Buf,
12G Free
Swap: 4096M Total, 4096M Free

PID THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
23713 65 97 0 15184K 3884K RUN 3 27.2H 375.49% sysbench

commande :
sysbench --num-threadsd --test=fileio --file-total-size=3G
--file-test-mode=rndrd run



sortie de sysbench pour le même test dans une itération qui fini bien :

sysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 64

Extra file open flags: 0
128 files, 24Mb each
3Gb total file size
Block size 16Kb
Number of random requests for random IO: 10000
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random read test
Threads started!
Done.

Operations performed: 10001 Read, 0 Write, 0 Other = 10001 Total
Read 156.27Mb Written 0b Total transferred 156.27Mb (1.1945Gb/sec)
78285.35 Requests/sec executed

Test execution summary:
total time: 0.1278s
total number of events: 10001
total time taken by event execution: 1.0588
per-request statistics:
min: 0.02ms
avg: 0.11ms
max: 126.00ms
approx. 95 percentile: 0.05ms

Threads fairness:
events (avg/stddev): 156.2656/437.24
execution time (avg/stddev): 0.0165/0.04





d'autres idées ?

patpro

--
A vendre : KVM IP 16 ports APC
http://patpro.net/blog/index.php/2008/01/12/133
Avatar
xavier
patpro ~ patrick proniewski wrote:

d'autres idées ?



Remonter un PR ?

Avant ça, t'as moyen de monter une VM Solaris pour faire les mêmes tests
avec les ZFS e Sun (qui est censé être le même, pourtant)

Au fait, quelle version de ZFS ? 14 ou 15 ?

Ce soir ou le WE prochain, je monte un Dell Power Edge de récup, je
tente le ZFS-on-Root, avec des disques en GPT (3 * 36 GB SCSI)
--
XAv
In your pomp and all your glory you're a poorer man than me,
as you lick the boots of death born out of fear.
(Jethro Tull)
Avatar
patpro ~ patrick proniewski
In article <1jq5k9o.uauluy1ppo98gN%,
(Xavier) wrote:

patpro ~ patrick proniewski wrote:

> d'autres idées ?

Remonter un PR ?



hmmm... aux gens qui gèrent ZFS, ou ceux qui gèrent sysbench ?


Avant ça, t'as moyen de monter une VM Solaris pour faire les mêmes tests
avec les ZFS e Sun (qui est censé être le même, pourtant)



une VM hostée par mon FreeBSD ?

Au fait, quelle version de ZFS ? 14 ou 15 ?



14

Ce soir ou le WE prochain, je monte un Dell Power Edge de récup, je
tente le ZFS-on-Root, avec des disques en GPT (3 * 36 GB SCSI)



grand foo :)

patpro

--
A vendre : KVM IP 16 ports APC
http://patpro.net/blog/index.php/2008/01/12/133
Avatar
patpro ~ patrick proniewski
Salut,

Mes benches sont terminés, et j'avoue que les résultats m'étonnent.
Sur les opérations de lecture, random ou séquentielle, ZFS se fait
littéralement étaler par UFS et ZFS-GZIP.

Par exemple, en nombre de requêtes pas seconde pour les tests de lecture
random et séquentielle, ZFS est moins bon d'un facteur 10 qu'UFS ou
ZFS-GZIP.

ZFS rattrape un peu son retard sur les tests d'écriture, mais ne brille
pas vraiment (2 fois meilleurs d'UFS/ZFS-GZIP, dans le meilleur des cas)

ZFS est par contre bien meilleur si je compare la durée moyenne d'une
requête d'écriture, à plus forte raison si le cache d'écriture de la
carte RAID est désactivé.

Je ne vois donc aucune raison actuellement d'utiliser ZFS sans la
compression GZIP.

Des avis sur la question ? Des constats différents ?

mes résultats bruts sont là, pour ceux qui voudraient jeter un ¦il :
<http://patpro.net/~patpro/resultats_sysbench.tgz>
et les graph :
<http://patpro.net/~patpro/graph_avg.tgz>
<http://patpro.net/~patpro/graph_req.tgz>

(on/off et balance/protection/performance sont les états du cache de la
carte RAID)

patpro

--
A vendre : KVM IP 16 ports APC
http://patpro.net/blog/index.php/2008/01/12/133