• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Langsames Dateisystem mit vielen Dateien...

bsd4me

Well-Known Member
Themenstarter #1
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
 

bsd4me

Well-Known Member
Themenstarter #3
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
 

bsd4me

Well-Known Member
Themenstarter #5
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
 

-Nuke-

Well-Known Member
#6
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.
 

bsd4me

Well-Known Member
Themenstarter #9
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...
 

bsd4me

Well-Known Member
Themenstarter #11
# 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
 
#12
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
 

foxit

Moderator
Mitarbeiter
#13
# 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
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.