Eisenfaust
Well-Known Member
Vorab:
- ja, ich habe bereits nach einer Lösung gegrugelt (ZFSTuningGuideWiki)
- je, ich habe bereits diverse vfs.zfs.XXX MIBs durchprobiert
Problem: ich betreibe zwei Server, (A) ein relativ "kleines" Interim-Storage-System mit 16 GB RAM und einer 2-Kern Ivy-Bridge CPU sowie einem RAIDZ1 bestehend aus 3 mal 3 TB Platten. (B) Der zweite Server ist eine etwas ältere 4-Kern CPU (Q6600) mit 8 GB RAM. An dieser MAschine werden 5 Platten a 3 TB in einem RAIDZ1 betrieben.
Auf beiden Systemen habe ich FreeBSD 10 installiert (FreeBSD 9.1-PRE, das vorher installiert war, hatte die gleichen Probleme!). Die "Pools" tragen diverse Dateisysteme, die ich per NFSv4 an Linux- und FreeBSD-Hosts exportiere.
Durch die unter den "Tuning Tricks" angegebenen Verfahren konnte ich auf Maschine (B) immerhin "Burst" Transferleistungen von 45 - max 50 MB/s erreichen.
Wende ich die selben Parameter auf Host (A) an, der über mehr RAM und die modernere Architektur verfügt, bleibt die Transferleistung bei sage und schreibe 3 MB/s maximal.
Die Rechner sind über GBit LAN angebunden/gswitcht. Mit diversen Tools kann man eine Bandbreite von gut 90 MB/s bescheinigen.
Nun, die Bandbreite von knappen 50 MB/s "Burst" finde ich nun nicht berauschend, zumal wir divesre Linux/CentOS Server betreiben, die ebenfalls Arrays via NFSv4 exportieren und ich mit diesen Maschinen durchaus 70 - 75 MB/s erreichen kann - kontinuierlich! Unter FreeBSD/ZFSv28 kommt es zu diesen "Bursts", wie sie vielfach beschrieben werden, und nur dann wird die maximale Bandbreite erreicht, zwischen diesen Bursts ist alles "ruhig".
Warum trotz der gleichen Tuningoptionen auf der besseren Hardware, aber dem kleineren RAIDZ1, die Leistung auf unterirdischen 3 MB/s bleibt - wohlgemerkt, Bursts, zwischen solchen tut sich nichts, so daß ich nach dem Ende eines Transferzykluses auf nett 1,3 bis max. 3 MB/s komme - ist mir ein Rätsel und verlangt im Moment von mir starke Nerven, nicht doch mal Linux einzusetzen.
Hat jemand Erfahrungen mit ZFS in dieser Hinsicht gemacht?
Aus diversen Foren und eben dem "offiziellen" ZFS Tuning Wiki (wo man offenbar selber nicht so recht weiß, was ZFS eigentlich macht, wenn ich diese ARC Diskussion verfolge), habe ich folgende Parameter verwendet:
/boot/loader.conf:
# ZFS
vfs.zfs.l2arc_noprefetch=1 # see wiki (*)
vfs.zfs.l2arc_write_max=209715200 (*)
vfs.zfs.l2arc_write_boost=335544320 (*)
vfs.zfs.cache_flush_disable=1 # NFSv4 Problemloesung
(die mit (*) markierten MIBs habe ich permutiert, mit wenig Erfolg, die hier gezeigten Werte sind die letzten verwendeten Parameter).
/etc/sysctl.conf:
# ZFS
vfs.zfs.write_limit_override=1073741824 # 1GB
- ja, ich habe bereits nach einer Lösung gegrugelt (ZFSTuningGuideWiki)
- je, ich habe bereits diverse vfs.zfs.XXX MIBs durchprobiert
Problem: ich betreibe zwei Server, (A) ein relativ "kleines" Interim-Storage-System mit 16 GB RAM und einer 2-Kern Ivy-Bridge CPU sowie einem RAIDZ1 bestehend aus 3 mal 3 TB Platten. (B) Der zweite Server ist eine etwas ältere 4-Kern CPU (Q6600) mit 8 GB RAM. An dieser MAschine werden 5 Platten a 3 TB in einem RAIDZ1 betrieben.
Auf beiden Systemen habe ich FreeBSD 10 installiert (FreeBSD 9.1-PRE, das vorher installiert war, hatte die gleichen Probleme!). Die "Pools" tragen diverse Dateisysteme, die ich per NFSv4 an Linux- und FreeBSD-Hosts exportiere.
Durch die unter den "Tuning Tricks" angegebenen Verfahren konnte ich auf Maschine (B) immerhin "Burst" Transferleistungen von 45 - max 50 MB/s erreichen.
Wende ich die selben Parameter auf Host (A) an, der über mehr RAM und die modernere Architektur verfügt, bleibt die Transferleistung bei sage und schreibe 3 MB/s maximal.
Die Rechner sind über GBit LAN angebunden/gswitcht. Mit diversen Tools kann man eine Bandbreite von gut 90 MB/s bescheinigen.
Nun, die Bandbreite von knappen 50 MB/s "Burst" finde ich nun nicht berauschend, zumal wir divesre Linux/CentOS Server betreiben, die ebenfalls Arrays via NFSv4 exportieren und ich mit diesen Maschinen durchaus 70 - 75 MB/s erreichen kann - kontinuierlich! Unter FreeBSD/ZFSv28 kommt es zu diesen "Bursts", wie sie vielfach beschrieben werden, und nur dann wird die maximale Bandbreite erreicht, zwischen diesen Bursts ist alles "ruhig".
Warum trotz der gleichen Tuningoptionen auf der besseren Hardware, aber dem kleineren RAIDZ1, die Leistung auf unterirdischen 3 MB/s bleibt - wohlgemerkt, Bursts, zwischen solchen tut sich nichts, so daß ich nach dem Ende eines Transferzykluses auf nett 1,3 bis max. 3 MB/s komme - ist mir ein Rätsel und verlangt im Moment von mir starke Nerven, nicht doch mal Linux einzusetzen.
Hat jemand Erfahrungen mit ZFS in dieser Hinsicht gemacht?
Aus diversen Foren und eben dem "offiziellen" ZFS Tuning Wiki (wo man offenbar selber nicht so recht weiß, was ZFS eigentlich macht, wenn ich diese ARC Diskussion verfolge), habe ich folgende Parameter verwendet:
/boot/loader.conf:
# ZFS
vfs.zfs.l2arc_noprefetch=1 # see wiki (*)
vfs.zfs.l2arc_write_max=209715200 (*)
vfs.zfs.l2arc_write_boost=335544320 (*)
vfs.zfs.cache_flush_disable=1 # NFSv4 Problemloesung
(die mit (*) markierten MIBs habe ich permutiert, mit wenig Erfolg, die hier gezeigten Werte sind die letzten verwendeten Parameter).
/etc/sysctl.conf:
# ZFS
vfs.zfs.write_limit_override=1073741824 # 1GB