Platten-/ZFS-RAID Durchsatz Benchmarken

bsd4ever

Well-Known Member
Hallo,

ich kenne bonnie++ - aber das läuft auf meinem eigentlich garnicht so schlechten Root-Server (2x E5‑2630, 4x SATA HDD RAID Z2) schon ewig (über 30minuten). Ich möchte eigentlich nur einen ungefähren MB/s - Wert haben.

Wie komme ich schneller zu so einem Ergebnis?

Dann möchte ich diesen Wert auch während dem Resilvering messen. Da das System von ZFS dabei ja extrem in die Knie gezwungen wird. Wenn man dann bonnie++ laufen lässt, würde das wohl mehrere Tage dauern.


Viele Grüße
bsd4ever
 

-Nuke-

Well-Known Member
Du könntest auch einfach eine Datei nach /dev/null pipen und dir mittels pv die Geschwindigkeit ausgeben lassen, z.B.:

dd if=QEMUVMs/Windows10/hdd.qcow2 bs=1M | pv -r | dd of=/dev/null

Musst halt nur eine große Datei erzeugen. Irgendwas aus /dev/urandom oder so in eine Datei schreiben. Das gibt dir dann neben dem "Endwert" nach dem Kopiervorgang auch live die Datenrate.
 

pit234a

Well-Known Member
das Problem ist ja, dass man relativ große Dateien braucht, also großen gegenüber RAM und deshalb dauert das eben so lange. Auch dann, wenn man einen Versuch mit dd macht.
In einigen Tests habe ich ziemlich gut vergleichbare Werte zwischen dd und bonnie++ auf unterschiedlichen Systemen erhalten, wenn es nur um die Schreibrate ging. Dabei setzte ich einen Befehl in der Art ab:
Code:
time sh -c "dd if=/dev/zero of=/mnt-system/testfile bs=1M count=1024 conv=fdatasync,notrunc && sync"
(das ist nun aus einem GNU/Linux kopiert, ich denke nicht, dass FreeBSD dd die gleichen Optionen hat und das war dann auch zum testen eines Sticks, also mit relativ wenig Daten). Das Ding ist, dass du quasi zwei Werte erhältst, einmal den direkten wert aus dd und dann den Wert aus time.
Mit der dd Angabe für die Anzahl der übertragenen Daten und der aus time ermittelten Gesamtzeit kann dann ein Wert für die Datenübertragung ermittelt werden, der ziemlich gut der Schreibrate entspricht und mit den ermittelten Werten aus bonnie++ ungefähr übereinstimmt.

Man kann auch bonnie++ eine kleinere Datenmenge mitgeben. Dann kommt das Ergebnis schneller, es ist aber auch nicht so aussagekräftig.
Bei allen Methoden braucht mehrere Durchläufe, bei den dd-Tests muss dann irgendwann das entstandene File noch gelöscht werden.
Ich bin bei allen Tests immer relativ unzufrieden gewesen und schaffte es zum Beispiel nicht, schlechte Sticks von guten durch solch einen einfachen Standard-Test zu unterscheiden.
 
Oben