Raid Performance

kira12

Well-Known Member
Hallo NG,

Diskinfo sagt zu meinen Raid5:

file# diskinfo -vt /dev/da1
/dev/da1
512 # sectorsize
3000513552384 # mediasize in bytes (2.7T)
5860378032 # mediasize in sectors
718183 # Cylinders according to firmware.
255 # Heads according to firmware.
32 # Sectors according to firmware.
P92BCOMPAQ RAID # Disk ident.

Seek times:
Full stroke: 250 iter in 2.274412 sec = 9.098 msec
Half stroke: 250 iter in 2.274660 sec = 9.099 msec
Quarter stroke: 500 iter in 2.651309 sec = 5.303 msec
Short forward: 400 iter in 2.147583 sec = 5.369 msec
Short backward: 400 iter in 3.096112 sec = 7.740 msec
Seq outer: 2048 iter in 0.211537 sec = 0.103 msec
Seq inner: 2048 iter in 0.197594 sec = 0.096 msec
Transfer rates:
outside: 102400 kbytes in 0.860153 sec = 119049 kbytes/sec
middle: 102400 kbytes in 0.816490 sec = 125415 kbytes/sec
inside: 102400 kbytes in 0.859389 sec = 119154 kbytes/sec

Warum komme ich dann über Netzwerk nur auf ca. 10Mbyte/sek zu schreiben?

Der Fileserver ist ein ein Xeon 2,4Ghz mit Freebsd8 i386 und einem ZFS Pool. Die anderen Rechner im Netzwerk sind alles PC-BSD8 AMD64 mit Gbit Netzwerkkarten.

Gruß ré
 
Ist /dev/da1 ein Hardware RAID5 oder eine der Platten in einem RAID-Z1 Pool? ZFS solltest du seine Platten selbst verwalten lassen.
Mit welchem Dienst erreichst du nur 10 MiByte/s? Welchen Durchsatz schaffst du lokal auf einem ZFS Mountpoint? Welchen Durchsatz erreichst du mit iperf? Was sagt top wenn du knapp 1GBit/s übers Ethernet schiebst? Billige Netzwerkkarten erkennst du hier daran das die CPU einen großteil ihrer Zeit in Interrupts verbringt. Wie heisst die Netzwerkkarte in ifconfig (hoffentlich nicht re0).

Dazu kommt das ZFS auf i386 Grenzwertig ist. Ich habe es ne Weile auf meiner NAS Box mit 3 Platten als RAID-Z1 und 1GB RAM gemacht, aber viel mehr RAM als für nen gatling als ftp Server und NFSv3 war da nicht mehr über.

Mit RealDreck NICs habe ich die Erfahrung gemacht das sie mittels polling bei HZ=3000 auf zumutbaren Durchsatz kommen. Zusammen mit erhöhten KVA_PAGES funktionierte damit auf billiger i386 Hardware ZFS. Mitleid falls es einem um die Ohren fliegt darf man aber nicht erwarten.
 
Hallo,

die Nic ist eine Compaq NC7161 (o.ä) zumindest intel, Dualport und PCI-X. kein Realdreck ;-)
Das Raid5 ist ein Hardwareraid mit einen Compaq P600, das Array ist als Singlefestplatte in ZFS integriert.
Ich habe noch keinen lokalen Scheribtest gemacht, ich wüsste nicht woher ich daten kopieren sollte, alles anderen Gerät in dem Rechner sind langsamer :-(
Das ZFS-tuning lt. Handbuch habe ich gemacht, der Rechner unterstützt nur i386. Beim kopieren kommt Top-m io auf wenige %, ich kopiere über Netz mit NFS.

Gruß ré
 
Schonmal darüber nachgedacht, dass es an i386 liegen könnte?
Von ZFS auf i386 ist in Sachen Performance nicht viel zu erwarten.
 
Hallo,

das ist eben die Frage ob ZFS das ganze auf 10Mbyte begrenzt? Leider habe ich keine andere Testmöglichkeit.

Gruß ré
 
ich habe mal etwas kopiert, ein Verzeichniss mit 2,3GB Videos von einer UFS Platte (am selben Controller, kein Raid) auf das Raid5 kopiert mit folgendem Befehl:
date ; cp -R spiderman /data/video/Filme ; date
dauert knapp 2min. Das wäre ca 20MByte pro Minute? Auch das ist nicht gerade schnell :-(
Kann ich irgendwie herausfinden ob es am i386 liegt ohne den Rechner zu tauschen oder das Array aufzulösen und neu zu Formatieren?

Gruß ré
 
Betrachte mal die CPU-Last zu betrachten während du etwas kopierst!
Die Kiste klingt ein wenig schwachbrüstig für das was du da baust.

Dual Gigabit ist auch wenns eine Intel ist auf einer alten Kiste wie einem 2,4Ghz i386 Xeon schon Lasttechnisch recht heftig, hinzu kommt dann noch ZFS, welches auf 64 Bit schon gut Last erzeugen kann. Von dem zusätzlichen Rechenaufwand auf 32 Bit mal ganz zu schweigen. Ich hatte das mal auf einem 2,8Ghz Pentium D ausprobiert damals mit FreeBSD 7 und es sehr schnell wieder gelassen, es hat performancetechnisch wenig Spaß gemacht.

Der RAM ausbau ist außerdem wichtig. Unter 4GB ist ZFS einfach nicht wirklich leistungsfähig, ich denke vor allem die enorme Beschneidung des ARC auf 32 Bit Systemen dürfte die Performance stark verkrüppeln.

Was vielleicht einen versuch wert wäre ist wenn du den Raid von ZFS bilden lässt, also auf Controllerebene nur einen JBOD nutzt und für die Raid Funktionalität einen RaidZ, denn hier kann ZFS stellenweise etwas tricksen um dir ein bisschen mehr Performance rauszuholen, denn gerade von einem Raid5 sind keine Wunder in sachen Performance zu erwarten. Es ist jedoch gut möglich, dass auch das wieder schwer vom vorhandenen RAM abhängt.

Ansonsten kann ich dir von ZFS auf i386 eigentlich nur abraten. Hier ist UFS klar die bessere und vor allem deutlich performantere Lösung.
 
Hallo Muffi,

OK, deine Infos waren gut :-) Kurz zur History, ich hatte mit einem Dual PIII und einem 3Ware 9500 angefangen, da waren die Schreibraten Grande Katastrophe. Nun kam ein Xeon 2,4 angeflogen und ich habe mir dazu einen P600 geholt.
Ich habe Top beobachtet, Top: ca 10% und Top -m io zeigt 100%.
Was sollte ich als Hardware nehmen um da gute Performance zu bekommen?

Gruß aus Kaditz
 
Die Hardware ist nn wirklich nicht besonders langsam. OK- nur ein heisser P4- fuer GiBit sollte es aber je nach Protokoll reichen.
Um zu beweisen, dass die NICs und die Platten schnell genug sind, bietet sich auch ein kleiner Test mittels "proftpd" an. Nur proftpd, kein anderer FTP Server wie z.B. vsftpd.
Dieser Test sollte dann fein zeigen, dass netto hoffentlich 80 bis 100MB/s ueber das Kabel gehen. Natuerlich wird bei einem P4 das System dann schon gut damit beschaeftigt sein.
 
Hallo,

lt. iperf geht ca. 1Gbyte über das Kabel, beim Schreibtest auf das Array werden ca. 20Mbyte übertragen und der IO-Monitor sagt 100% Auslastung , allerdings schreibe ich immer von einer Single auf das Array am selben Controller. Wie kann ich aus dem Ram auf die Platte in eine Datei schreiben?

Gruß ré
 
Hi kira12,

es ist ein bisschen schwierig zu sagen, wo es denn nun klemmt.
Es kann die Hardware sein:
(*) IDE-RAID, SCSI-RAID oder SAS-RAID
(*) hängt der RAID-Controller am PCI-32, PCI-64, PCIe (evtl. Bus überlastet)
(*) hängt die NW-Karte am PCI-32, PCI-64, PCIe (evtl. Bus überlastet)
(*) Backup-Akku des RAID-Controllers leer oder kaputt
(*) Netzwerkkabel hat Wackelkontakt oder wurde zu stark geknickt

Es kann das Betriebssystem sein:
(*) Probleme mit NW-Karte
(*) Probleme mit RAID-Controller

Ich habe es schon erlebt, dass ZFS und Hardware-RAID5 einen extremen Performanceeinbruch produziert haben. Nachdem das Hardware-RAID aufgelöst und die HDDs komplett von ZFS verwaltet wurden, war die Performance spitzenmäßig.

Um das herauszufinden, gilt es die Performance einzeln zu messen
(*) Datei auf eine UFS-Partition legen und diese per FTP übertragen
(*) UFS-Partition auf Hardware-RAID anlegen und die Übertragungsgeschwindigkeit beim kopieren zwischen RAM-Disk und RAID messen
(*) ZFS auf Hardware-RAID anlegen und und die Übertragungsgeschwindigkeit beim kopieren zwischen RAM-Disk und ZFS messen

JueDan
 
Hallo Jürgen,

das klingt wie der Spruch vom Wetterfrosch: Morgen wird es Warm oder Kalt, je nach dem, das hängt vom Wetter ab :-) Aber Scherz beiseite, da ich das Array nicht auflösen kann werde ich erst mal schnellere Hardware (vor allem AMD64 fähige) beschaffen und dann wieder etwas testen. Da die IO Auslastung bei 100% liegt gehe ich mal davon aus das die Rechenleistung schuld ist oder der i386 Mode. Ich danke dir für die ausführliche Info.

Gruß ré
 
Warum komme ich dann über Netzwerk nur auf ca. 10Mbyte/sek zu schreiben?

Ich glaube das Problem ist die ZFS + NFS Kombination. (Wobei bei dir hinzu kommen könnte, dass du nur ein dev im pool hast.
Ich erreiche z.b. auch nur 25-30MB/s schreiben über NFS auf ZFS. Und dass auch nur weil ich eine SSD als ZIL dev einsetze. Lokal schafft der Server 175+MB/s zu schreiben. Leider ist http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide gerade down.
Dort wurde das glaube ich auch thematisiert.

mein pool:

NAME STATE READ WRITE CKSUM
home ONLINE 0 0 0
raidz2 ONLINE 0 0 0
da1 ONLINE 0 0 0
da2 ONLINE 0 0 0
da3 ONLINE 0 0 0
da4 ONLINE 0 0 0
da5 ONLINE 0 0 0
raidz2 ONLINE 0 0 0
da6 ONLINE 0 0 0
da7 ONLINE 0 0 0
da8 ONLINE 0 0 0
da9 ONLINE 0 0 0
da10 ONLINE 0 0 0
logs ONLINE 0 0 0
mirror ONLINE 0 0 0
da12 ONLINE 0 0 0
da13 ONLINE 0 0 0
cache
ad4 ONLINE 0 0 0
ad8 ONLINE 0 0 0
spares
da11 AVAIL
 
Hallo,

ich erreiche beim lokalen schreiben auch nur auf ca. 20-30Mbyte. Also lesen von UFS und schreiben auf ZFS. Von 175Mbyte schreiben kann ich nur träumen. Welche Hardware setzt du ein?

Gruß ré
 
3ware 9690SA-8I
2x SATA WD RE 250GB (UFS auf raid1 (da0))
11x SATA WD RE 1TB (1x spare)
2x SATA SSD Intel MLC 80GB als lese cache (raid0) am onboard controller.
2x SATA SSD Intel SLC 32GB als ZIL dev (raid1)
 
2x Opteron 2374 HE (4Kern 2.2GHz 6MB L3)
32GB reg DDR2
auf nem Supermicro H8DME-2 board
in einem Supermicro SC846E2-R900B Gehäuse

Die onboard NICs konnte man leider vergessen, da FreeBSD mit denen alles andere als stabil lief. Intel NICs rein und gut.
 
Zurück
Oben