* Christopher Stolzenberg postfix-users@de.postfix.org:
Am 9. Juni 2010 10:22 schrieb Patrick Ben Koetter p@state-of-mind.de:
1.000 msg/min macht Postfix im Vorbeigehen. Im Detail müsstest Du mal definieren mal was da getan werden muss. Nur Annehmen? Nur Senden? Viren-Filtern? Spam-Filtern?
Annehmen durch Amavis (spamassassin, pyzor, clamav) und dann z.B. an einen anderen Server (Mailbox Server) weitergeben.
Mir ist aufgefallen wenn man z.B. von einer Mailinglist wie die LKML mal 30-40 Mails auf einmal reinkommen das dann die Systemload unter Linux schon ganz ordentlich hochgeht... Wenn ich mir dann vorstelle das da 1000 Mails gleichzeitig reinkommen müsste es doch theoretisch einen Stau geben? Wie verhält sich dann amavis?
Generell gilt: Amavis sollte nie mehr Postfix mail clients sehen, als Postfix selbst mail annehmen kann.
Wenn Du 1.000 gleichzeitige Mails bearbeiten willst, mußt Du das mit LoadBalancer verteilen. 1.000 Nachrichten pro Minute sind im Schnitt 16.666 Nachrichten pro Sekunde. Das sollte ein handelsüblicher Server locker (!) abkönnen.
Deine Bottlenecks in diesem Fall ist die I/O Deines Systems und die amavis-Aufgaben, besonders alle netzbasierten Prüfungen wie DNSBL und pyzor, weil Du da mit Sicherheit in Latenzen auf DNS-Serverseite reinrennst.
Das kann man mit lokalen Caches eine Weile abfangen, dann muss man den Service irgendwann zahlen und schlussendlich stellt man sich eine Kopie der DNSBL in die DMZ.
Um Deine Frage mit amavis zu beantworten: amavis hängt hinter Postfix. Postfix gibt einen 4xx Fehler raus und schickt den Client weg, wenn keine amavis-Verbindungen frei sind.
Wieviel Mails (SMTP Connections) kann Postfix standardmäßig überhaupt gleichzeitig bewältigen?
Auf eurer Webseite unter http://postfix.state-of-mind.de/patrick.koetter/amavisd-new/#basiskonfigurat... wird maxproc erwähnt. Allerdings habt ihr unter amavisfeed unix gar keinen -o maxproc Wert konfiguriert... ist der default Wert von 2 nicht etwas gering? Wenn mal 100 Mails gleichzeitig reinkommen und amavis vorübergehend keine Mails annimmt und der Absender einen Fehler bekommt ist das natürlich nicht so schön.
Der default von 2 ist für Privatuser in der Regel völlig ausreichend. Auf Produktionssystemen bei Kunden haben wir oft 60 Prozesse und mehr am Start. Die sind nicht aus der Luft gegriffen, sondern das Resultat von errechneten Lastszenarien und Test mit Lastgeneratoren für die jeweiligen Lastszenarien.
Wer selber testen will kann die Postfix-Tools smtp-sink und smtp-source, sowie postal und mstone hernehmen.
p@rick