SpamAssassin und Performance

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
nn4l
Posts: 172
Joined: 2002-06-19 07:06

SpamAssassin und Performance

Post by nn4l » 2003-04-26 19:20

Ich habe ein schwerwiegendes Problem mit SpamAssassin:

Für jede einkommende email wird ein spamd Prozess gestartet. Dieser Prozess verbraucht ca. 13 MByte RAM.

Wenn man nun z.B. mit fetchmail einen größeren Posten emails holt (oder wenn ein Spammer etliche emails auf einmal verschickt, soll ja vorkommen), dann laufen sofort einige 10 spamd Prozesse, der Server fängt an zu swappen und die Katastrophe ist da.

Ich würde SpamAssassin gerne so konfigurieren, dass alle emails der Reihe nach bearbeitet werden, nicht quasi gleichzeitig. Wer kann mir da einen Tipp geben?

Auf dem Rootserver verwende ich SpamAssassin mit exim, das gleiche Problem hab ich aber auch auf einem anderen Server, auf dem ich SpamAssassin über procmail aufrufe.

alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover

Re: SpamAssassin und Performance

Post by alexander newald » 2003-04-26 22:16

SpamAssassin mit spamc (dem C-Programm) aufrufen und

/etc/procmailrc

Code: Select all

DROPPRIVS=yes
:0fw
| /opt/SpamAssassin/SpamAssassin/bin/spamc -d deine_ip -f -p 65000
:0 H
* ! ^From[ ]
* ^rom[ ]
{
:0 fhw
| sed -e 's/^rom /From /'
}

Code: Select all

su - spamd -c "nice -n 10 /opt/SpamAssassin/SpamAssassin/bin/spamd -a -c -i deine_ip -m 15 -x -q -d -A deine_ip -p 65000"
Alexander Newald

User avatar
nyxus
RSAC
Posts: 697
Joined: 2002-09-13 08:41
Location: Lübeck

Re: SpamAssassin und Performance

Post by nyxus » 2003-04-26 22:48

Alexander Newald wrote:SpamAssassin mit spamc (dem C-Programm) aufrufen und

/etc/procmailrc
hmmmm, kannst Du mir mal erklären was der Inhalt machen soll? Irgendwie steige ich da nicht wirklich durch.


Gruß, Nyx

alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover

Re: SpamAssassin und Performance

Post by alexander newald » 2003-04-26 23:04

Der Procmail Teil ruft das C-Programm von SpamAssassin auf, dass sich mit dem Spamd Daemon verbindet und die Mail übergibt. Vorher werden die Root Rechte "fallengelassen". Der Rest vom Procmail sorgt dafür, dass bei einem Fehler in der Verbindung zu Spamd das erste Zeichen wiederhergestellt wird (Das geht aus irgendeinem Grund verlohren, wenn es zu einem Fehler kommt)

Der zweite Teil startet spamd mit eigener UserID und dem Nicelevel 10. Es können max. 15 Prozesse gleichzeitig den Spamd nutzen, der Rest muss warten.

Alexander Newald

nn4l
Posts: 172
Joined: 2002-06-19 07:06

Re: SpamAssassin und Performance

Post by nn4l » 2003-04-27 09:13

danke, der "spamd -m 15" Parameter war das, was ich brauchte.

Jedoch sind 15 gleichzeitige spamd Prozesse mir immer noch viel zu viel, ich versuch's jetzt mal mit "-m 2".

Beim Abarbeiten von größeren Mailmengen hab ich nun aber -zig exim-Prozesse laufen, die auf die zwei spamd Prozesse warten. Ist aber nicht so schlimm, da exim nicht so viel RAM verbraucht vie SpamAssassin.