File Alteration Monitor (fam) mit FreeBSD = Bockmist

28. April 2009

Wir haben den famd auf dem Mailserver wieder deaktiviert. In Kombination mit FreeBSD ist das Ding nahezu unbenutzbar. Unter Linux mag er mit inotify oder dnotify ja performant funktionieren, unter FreeBSD benutzt er allerdings kqueue/kevent als Kernel Event Notification. Zum Vergleich: inotify unter Linux arbeitet mit Dateinamen, um zu erkennen, wann sich eine Datei geändert hat.
kqueue unter FreeBSD arbeitet mit File Descriptoren, was zur Folge hat, daß er JEDE Datei in einem Verzeichnis erst einmal öffnen muß. Was nun auf einem IMAP-Server mit einer fünfstelligen Anzahl Konten passiert, haben wir in den vergangenen Wochen erlebt. Ein Hoch auf Push-Mail. Der imapd pollt jetzt wieder selbst, mit einem Intervall von 20s. Vorher hat der famd-Prozess einen ganzen CPU-Kern voll ausgelastet. Immer.
Was für ein Bockmist.

Allgemein | Kommentare Zum Seitenbeginn springen

2 Kommentare zu “File Alteration Monitor (fam) mit FreeBSD = Bockmist”

  1. 01

    Oh ja – bei IMAP-Servern merkt man schnell wo eventuelle Flaschenhälse liegen. Millionen von kleinen Dateien, hunderte oder tausende offene Netzwerkverbindungen – da geht’s rund.
    Wir haben z.B. irgendwann mal von EXT3 auf XFS umgestellt und damit die Performance fast verdoppelt… :-/

    Klaus am 29. April 2009 um 11:03
    Zum Seitenbeginn springen
  2. 02

    Jepp, es hilft auch sehr, die Dateisysteme mit den Mails und von der Queue mit noatime zu mounten. Und für die Queue SSDs anstelle von normalen Raid-Systemen zu nehmen.

    sirko am 29. April 2009 um 15:55
    Zum Seitenbeginn springen