Howto: MailScanner Tuning unter Debian Etch

Posted on the April 19th, 2007 under allgemein by matthias

Ich nutze zum Aufspüren von Spam und Viren MailScanner in Verbindung mit Postfix auf unserem Mail-Gateway. Täglich gehen hier etwa 20.000 Emails durch, die gescannt werden müssen. Etwa fünfmal soviel, also ca. 100.000 Nachrichten, scheitern schon an dem Greylisting. In der Mail Rush-Hour kann es schon mal eng werden auf dem Server. Wenn mehrere Hundert Mails in der Queue warten, ist dann in aller Regel der MailScanner der Flaschenhals.

Aus diesem Grund habe ich die Einstellungen vom MailScanner in der Konfigurationsdatei /etc/MailScanner/MailScanner.conf ein wenig angepasst, um die beste Performance zu erzielen. Zuerst habe ich die Anzahl der gleichzeitigen MailScaner Prozesse verringert – manchmal ist weniger eben doch mehr:

[sourcecode language="css"]Max Children = 2[/sourcecode]

Das Scan Intervall für die Postfix incoming-Queue habe ich erhöht, da es keinen Sinn macht jede Sekunde nach neuen Mails zu schauen, wenn die aktuelle Warteschlange noch nicht abgearbeitet worden ist.

[sourcecode language="css"]Queue Scan Interval = 10[/sourcecode]

Ein großer Perfomanceschub bringt die Anpassung folgender Variablen, die allesamt die maximalen Werte nicht bearbeiteter Emails pro Scanvorgang definieren:

[sourcecode language="css"]Max Unscanned Bytes Per Scan = 10000
Max Unsafe Bytes Per Scan = 50000
Max Unscanned Messages Per Scan = 10
Max Unsafe Messages Per Scan = 10[/sourcecode]

Wer Spam Blacklists (RBL) einsetzt, sollte diese auf ein Minimum reduzieren oder ganz auf die Prüfung verzichten. Ich verwende beispielsweise keine RBL-Ergebnisse, da ich hier zu viele False-Positive-Ergebnisse erhalte.

[sourcecode language="css"]Spam List =[/sourcecode]

Neben dem Anpassen der Konfiguration kann ein großer Performanceschub durch die Verwendung einer RAM-Disk erzielt werden. MailScanner entpackt die Mails per default in das Verzeichnis /var/spool/MailScanner/incoming um diese zu scannen. Mountet man eine RAM-Disk anstatt der Festplatte in dieses Verzeichnis, kann der Scanvorgang beschleunigt werden.

[sourcecode language="css"]mount /dev/ram0 /var/spool/MailScanner/incoming -t tmpfs -o size=32m[/sourcecode]

Natürlich sollte ein entsprechender Eintrag in die /etc/fstab nicht vergessen werden, damit das Verzeichnis beim nächsten Reboot korrekt eingebunden wird.

[sourcecode language="css"]/dev/ram0 /var/spool/MailScanner/incoming tmpfs size=32m 0 0[/sourcecode]

All diese Maßnahmen haben den Scanvorgang auf dem Mail-Gateway stark beschleunigt, so dass es auch in Soßzeiten nicht zu Engpässen kam. Auch ging die Systemlast stark herunter, so dass der Load nur selten über 1 geht.

Links:
MailScanner Homepage
Tweaking MailScanner

|

8 Responses to 'Howto: MailScanner Tuning unter Debian Etch'

  1. 24. July 2007 at 08:55
    Michél
  2. 24. July 2007 at 17:35
    matthias
  3. 24. July 2007 at 20:36
    Michél
  4. 25. July 2007 at 09:39
    Michél
  5. 25. July 2007 at 10:26
    matthias
  6. 26. July 2007 at 20:19
    Stefan
  7. 27. July 2007 at 09:01
    matthias
  8. 19. September 2008 at 14:28
    chris

Leave a Reply




XHTML::
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>