1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Langsames Dateisystem mit vielen Dateien...

Dieses Thema im Forum "FreeBSD - Allgemein" wurde erstellt von bsd4me, 13 November 2017 um 11:51 Uhr.

  1. bsd4me

    bsd4me Member

    Registriert seit:
    13 September 2012
    Beiträge:
    428
    Ort:
    Münster
    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
     
  2. KobRheTilla

    KobRheTilla used register

    Registriert seit:
    20 Januar 2011
    Beiträge:
    1.149
    Erzeugt es diese in _einem_ Verzeichnis? Ist atime auf dem Dateisystem aktiv?

    Rob
     
  3. bsd4me

    bsd4me Member

    Registriert seit:
    13 September 2012
    Beiträge:
    428
    Ort:
    Münster
    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
     
  4. KobRheTilla

    KobRheTilla used register

    Registriert seit:
    20 Januar 2011
    Beiträge:
    1.149
    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
     
  5. bsd4me

    bsd4me Member

    Registriert seit:
    13 September 2012
    Beiträge:
    428
    Ort:
    Münster
    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
     
  6. -Nuke-

    -Nuke- Well-Known Member

    Registriert seit:
    25 Juli 2004
    Beiträge:
    1.059
    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.
     
  7. Crest

    Crest rm -rf /*

    Registriert seit:
    25 Juni 2008
    Beiträge:
    1.570
    Ort:
    /dev/random
    Hast du genug RAM um ein tmpfs zu verwenden?
     
  8. joergpc

    joergpc Member

    Registriert seit:
    14 Dezember 2004
    Beiträge:
    165
    Hallo,
    wie Groß ist dann das Verzeichniss in GB und zb. eine 960 Pro könnte auch schon helfen.

    Viele Grüße
    Jörg
     
  9. bsd4me

    bsd4me Member

    Registriert seit:
    13 September 2012
    Beiträge:
    428
    Ort:
    Münster
    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...
     
  10. KobRheTilla

    KobRheTilla used register

    Registriert seit:
    20 Januar 2011
    Beiträge:
    1.149
    Wie ist der ZFS-Pool eigentlich aufgebaut?

    Rob
     
  11. bsd4me

    bsd4me Member

    Registriert seit:
    13 September 2012
    Beiträge:
    428
    Ort:
    Münster
    # 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. KobRheTilla

    KobRheTilla used register

    Registriert seit:
    20 Januar 2011
    Beiträge:
    1.149
    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
     
  13. foxit

    foxit Moderator Mitarbeiter

    Registriert seit:
    4 Juli 2012
    Beiträge:
    1.427
    Ort:
    /home
    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.