Hohe Festplatten-IO bei der Suche von E-Mails (Dovecot-IMAP)

  • Hallo,


    ich habe das Problem, dass mein Server aufgrund der Festplatten-IO zusammenbricht, wenn in großen E-Mail Postfächern gesucht wird.
    Als Lösung gibt es wohl nur drei Möglichkeiten:

    • Das Mailsystem komplett auf einen eigenem Server
      Nachteil wäre hier, dass der Hauptserver eine Business-Lizenz von LiveConfig und der neue Server ebenfalls eine Lizenz benötigt (zusammen 29,60 Euro).
    • Auslagern der E-Mails auf Storagespace
      Reicht hier die Performence das aus und wie sieht es hier mit dem Traffic aus. Ich habe ja "nur" 2.5 TB. Ich kann nicht abschätzen, was hier an Traffic benötigt wird. Im Moment sind es knapp 200 GB an E-Mails. Könnte beim Storage-Space bei Bedarf einfach ein Tarif-Wechsel vorgenommen werden
    • Die dritte wäre eine Kombination aus 1 und 2
      Die E-Mails liegen auf einen eigenem Server, der jedoch per NFS eingebunden ist.

    Oder gibt es noch eine andere Möglichkeit, an die ich nicht gedacht habe ?

    Lauf Dovecot (und Postfix - der muß ja dann auch auf NFS-Space speichern) überhaupt stabil per NFS ?

  • Welcher Suchindex ist aktiv? Indizierst du on-demand neue E-Mails oder präventiv per cronjob? Was für Laufzeiten hast du dabei?

    "Security is like an onion - the more you dig in the more you want to cry"

  • Ein Cron-Job gibt es auf jeden Fall nicht.

    Als einzige Einstellung mit index ist nur mailbox_list_index = yes aktiv.


    Oder welchen Parameter möchtest Du genau wissen ?


    Falls noch wichtig: Dovecot ist in Version 2.2.13-12 installiert (Debian 8.11)

  • Ok,


    habe nun mein System wie folgt erweitert:


    Code
    apt-get install dovecot-lucene


    Code
    mail_plugins = $mail_plugins fts fts_lucene
    
    plugin {
        fts = lucene
        fts_lucene = whitespace_chars=@. normalize no_snowball
        fts_autoindex=yes
        fts_autoindex_max_recent_msgs=80
        fts_index_timeout=90
    }

    Sonst noch Vorschläge ?

  • Lauf Dovecot […] überhaupt stabil per NFS ?

    Prinzipiell schon, wenn man die im Wiki angesprochenen Besonderheiten beachtet. Das kann ich mit einem kleineren Setup bestätigen, bei dem ich es seit einigen Jahren als (mittlerweile dauerhafte) Notlösung in Kauf nehme. Aber von der Performance her kann ich mir kaum vorstellen, dass Du groß dazu gewinnen wirst.


    Wenn ein richtiger Suchindex bei Dir Overkill ist, wäre das eines jener Paradebeispiele, wo ein SSD-Server auf jeden Fall Sinn macht. Ich muss immer schmunzeln, wenn User meinen, dass es bei Mailservern nichts Kritisches gibt, das schnell reagieren muss. Tja… ^^

    […] und Postfix - der muß ja dann auch auf NFS-Space speichern [ …]

    Es gibt übrigens eine (meiner Meinung nach) bessere Alternative, wodurch Postfix nicht selbst in die Mailbox schreiben muss: https://wiki.dovecot.org/LDA/Postfix

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Prinzipiell schon, wenn man die im Wiki angesprochenen Besonderheiten beachtet. Das kann ich mit einem kleineren Setup bestätigen, bei dem ich es seit einigen Jahren als (mittlerweile dauerhafte) Notlösung in Kauf nehme. Aber von der Performance her kann ich mir kaum vorstellen, dass Du groß dazu gewinnen wirst.


    Wenn ein richtiger Suchindex bei Dir Overkill ist, wäre das eines jener Paradebeispiele, wo ein SSD-Server auf jeden Fall Sinn macht. Ich muss immer schmunzeln, wenn User meinen, dass es bei Mailservern nichts Kritisches gibt, das schnell reagieren muss. Tja… ^^

    Es gibt übrigens eine (meiner Meinung nach) bessere Alternative, wodurch Postfix nicht selbst in die Mailbox schreiben muss: https://wiki.dovecot.org/LDA/Postfix

    Naja, es ist nicht nur eine alternative, dass Postfix nicht direkt ins Maildir kritzelt. Wenn Postfix ins Maildir schreibt, sind die dovecot-Caches und Indizes hinfällig…

    Also via dovecot-lda oder via LMTP (via Unix-Socket oder Port) an Dovecot übergeben.

  • Ok, dann schreibt bei mir doch Dovecot direkt in die Maildirs und Postfix nimmt nur die Mails an

    Zitat von main.cf

    virtual_transport = dovecot


    Zitat von master.cf

    dovecot unix - n n - - pipe

    flags=DROhu user=mail:mail null_sender= argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient} -e

  • Naja, es ist nicht nur eine alternative, dass Postfix nicht direkt ins Maildir kritzelt. Wenn Postfix ins Maildir schreibt, sind die dovecot-Caches und Indizes hinfällig…

    Nicht zwangsläufig, Maildir ist da schon entsprechend robust. Neue Mails landen in "new" und werden von Dovecot nachher sowieso nach "cur" verschoben. Da spielen Index und Cache noch keine große Rolle. Trotzdem würde ich einen reinen Zugriff durch Dovecot vorziehen, da hat man zahlreiche Vorteile.


    Aber gut, dass Du an LMTP gedacht hast. Das nutze ich eigentlich selbst überall, ich habe dann wohl den falschen Wikilink erwischt. Ups… ^^

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • SCD : Also ist es schlimmer geworden oder bemerkst du im Monitoring der Systemauslastung rein gar nichts? Reagiert die Suche unverändert langsam?

    "Security is like an onion - the more you dig in the more you want to cry"

  • Schlimmer ist es nicht geworden. Ich sehe aber immer noch längere Zeit den dovecot Prozess unter iotop.

    Da meine Postfächer auf dem Server nicht so groß wie fremde Postfächer sind, kann ich nicht beurteilen, ob die Suche selbst nun schneller ist.