Hallo, letztens wurden auf einem Sever etliche RepetModeler Läuef gestartet. Leider erzeugt das Programm hundert tausende von Dateien - evtl. Millionen. Das macht ein Dateisystem (insbesondere den Zugriff) relativ langsam. Der Server läuft unter FreeBSD 11 mit ZFS. Hat jemand eine Idee wie man den Zugriff optimieren kann? EVtl. auch über NFS? Oder gibt es ein Dateisystem, dass für Massendaten -also eine Riesenanzahl an Dateien- gut skaliert? Vielen Dank und Grüße - Norbert
ja - teilweise - es werden hundert tausend (und auch mehr) Dateien in 1 Verezeichnis geschrieben... wie ich sehe ist: # zfs list -o atime storage ATIME on
Das ist unter keinen Umständen eine gute Idee und sollte in der Software oder im Workflow korrigiert werden. Vielleicht bringt dir es dir etwas, atime=off zu schalten, viel wird dabei aber nicht rauskommen, denke ich. Rob
Danke!! tja, das mit der Dateianzahl kann ich nicht korrigieren - ist halt biologische Software... Aber das mit den atime werde ich mal auf off setzen - Norbert
Je nach Art wie die Software schreibt könnte auch noch eine SSD als Log-Device helfen. Kann helfen, muss aber nicht. Je nach Anwendungsfall könnte man auch noch die Checksummen deaktivieren. Compression je nach Flaschenhals ebenso... "An, in Form von lz4" kann durchaus auch die Performance steigern, wenn die Daten gut komprimierbar sind.
Hallo, wie Groß ist dann das Verzeichniss in GB und zb. eine 960 Pro könnte auch schon helfen. Viele Grüße Jörg
Danke für die Antworten. Die Maschine hat 512GB RAM, ein bisschen könnte man für tmpfs abzwacken... Eine SSD geht leider nicht mehr einzubauen...
# zpool status pool: storage state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM storage ONLINE 0 0 0 raidz2-0 ONLINE 0 0 0 ada2 ONLINE 0 0 0 ada3 ONLINE 0 0 0 ada4 ONLINE 0 0 0 ada5 ONLINE 0 0 0 ada6 ONLINE 0 0 0 ada7 ONLINE 0 0 0 errors: No known data errors pool: zroot state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 gpt/rada0 ONLINE 0 0 0 gpt/rada1 ONLINE 0 0 0
Wenn die Kiste so viel Arbeitsspeicher hat, hast du dir mal die ARC-Statistiken angesehen (insbesondere hinsichtlich Metadaten)? Per default wird der ARC für Metadaten auf 1/4 des gesamten ARC begrenzt, dies kannst du mit dem sysctl vfs.zfs.arc_meta_limit ändern, eventuell bringt das auch was. Rob
Du könntest noch einen Mirror versuchen mit mehreren VDEV's z.B: Code: NAME STATE READ WRITE CKSUM storage ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ada2 ONLINE 0 0 0 ada3 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 ada4 ONLINE 0 0 0 ada5 ONLINE 0 0 0 mirror-2 ONLINE 0 0 0 ada6 ONLINE 0 0 0 ada7 ONLINE 0 0 0 Kostet natürlich etwas Platz aber schneller wird nicht mehr gehen.