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 ?

  • 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
    1. apt-get install dovecot-lucene


    Code
    1. mail_plugins = $mail_plugins fts fts_lucene
    2. plugin {
    3.     fts = lucene
    4.     fts_lucene = whitespace_chars=@. normalize no_snowball
    5.     fts_autoindex=yes
    6.     fts_autoindex_max_recent_msgs=80
    7.     fts_index_timeout=90
    8. }

    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

  • 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

    main.cf wrote:

    virtual_transport = dovecot


    master.cf wrote:

    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… ^^

  • 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.