Kurz und schmerzlos
Erwartetes Mail-Volumen: 1,7 Millionen Empfänger für Rundmails, Frequenz zwischen 1/Woche und 4/Woche. Zusätzlich erwartete sechs Millionen transaktionsbezogene Mails pro Woche. Vier IPs mit guter Reputation vorhanden. Logischerweise resultierte daraus ein Setup mit vier Postfix-Maschinen (vier eigentlich nur wegen der Verfügbarkeit, nicht wegen der Last).
Die Mails werden bei den ersten beiden Servern eingeliefert, diese versuchen die
Erstzustellung an die Empfänger. Das Problem sind Mails, die nicht sofort
zugestellt werden können. Der qmgr
versucht diese, periodisch neu
zuzustellen - und verstopft damit die sog. active queue, was dann
gerade bei den transaktionsbezogenen Mails zu unerwünschten Verzögerungen führt.
Also via smtp_fallback_relay
die beiden anderen Server angegeben und dort
eine größere maximal_backoff_time
, mehr smtp
-Prozesse und eine
extrem große active queue konfiguriert - klassisches Beispiel
eines graveyard servers.
In dem ganzen Setup sind keine Loadbalancer vorhanden, das Balancing geschieht
nur über interne MX-Records (hat gedauert, die Entwickler davon zu überzeugen,
daß sie die Unterstützung dafür in ihre Applikation einbauen). Für jeden
bekannten großen Mailprovider sind die entsprechenden concurrency
limits hinterlegt (sowohl auf den primären als auch den
Friedhof-Servern), FBL- und BulkMail-SingIns sind durch. Das Bounce-Processing
macht die Applikation (über die normalen, dedizierten Empfangsserver), die Mails
fallen mit VERP’ifizierter Adresse und DKIM-Signatur aus der Anwendung raus. Die
Länge der Konfigurationsdatei main.cf
ist 28 Zeilen auf den
primären und 21 Zeilen auf den Friedhof-Servern. Es hat sich als gute Wahl
herausgestellt, schnelle Platten in den Servern zu verbauen. Die Postfix-Version
ist 2.7.2, das Filesystem ext4, letzteres mit den üblichen Tunings für den
Anwendungszweck.
Mittlerweile sind wir bei 120 Millionen Mails (und damit deutlich über den angeforderten Werten, soviel zu Schätzungen…) und es gab von Anfang an keinerlei Probleme, die Last auf den Servern hält sich in sehr vernünftigen Grenzen. Postfix ist wirklich ein unglaublich solides Stück Software - und vielleicht sollte ich mich für solche Setups bezahlen lassen…
Update: Man muß halt schon nach dem richtigen Text suchen. Es sind also keine 120, sondern 41 Millionen Mails. Womit es aber immer noch mehr waren als geschätzt…