Re: [Exim-users-de] Exim4 als Mailout

Top Page
Delete this message
Reply to this message
Author: Sven Hartge
Date:  
To: exim-users-de
Subject: Re: [Exim-users-de] Exim4 als Mailout
Patrick von der Hagen wrote:
> Am Sonntag, den 27.01.2008, 21:57 +0100 schrieb Sven Hartge:


>> Oder andere interne Bounces entstehen, weil z.B. bei einem User die
>> Quota erschöpft ist und der Bounce dann aber erst im nachgelagerten
>> Mailstorage-Server entsteht und nicht "an der Front". (An diesem Problem
>> arbeite ich gerade mittels eines kleinen Daemons, der dann via
>> socket-Abfrage aus dem MX-Exim heraus den Quota-Status "nach vorne"
>> liefert und so die fraglichen Mails direkt abgelehnt werden können.)


> Liefert der Server das denn nicht selbst? Call-out? Funktioniert z.B.
> bei Cyrus wunderbar.


Der Courier liefert das auch, allerdings nur nach Anmeldung mit dem
spezifischen User, was vom MX aus logischerweise nicht geht.

Also entwerfe ich einen kleinen Daemon (Net::Server basiert), der auf
dem mailstorage läuft und nach Anfrage einfach "OVER" oder "UNDER"
liefert, so dass ich darauf im MX-exim entsprechend reagieren kann.

>> Alles in allem sind die Queues in unseren drei MXen immer recht voll und
>> wie bekannt ist, performt Exim4 hier nicht mehr wirklich gut, sobald
>> einen gewisse kritische Menge überschritten ist.


> Definiere "recht voll" und "gewisse kritische Menge".


"kritische Menge": wartende Mails >> queue_run_max * 10

Viele der wartenden Mails bei uns zeichnen sich dadurch aus, dass die
Domain existiert und mit MX oder A auflösbar ist, die Verbindung dorthin
aber in den Timeout laufen muss, so dass der Queue-Runner pro Mail erst
einmal 3 Minuten still steht. Hat man jetzt 200 Mails dieser Sorte, dann
dauert ein Queue-Run 600 Minuten, was wiederum die Mails behindert, die
evtl. in ein Greylisting gelaufen sind oder aus anderen Gründen schon
nach 10 Minuten Wartezeit zugestellt werden können.

Dreht man die maximale Zahl der Queue-Runner hoch, bekommt man evtl.
andere Probleme.

> Ich habe gerade 2138 E-Mails in den Outgoing-Queues. Weit entfernt von
> einer kritischen Menge. Ist natürlich andererseits nicht gerade die
> größte Uni Deutschlands. Das sah schon mal anders aus, bevor ich den
> Kampf gegen Bounces so richtig aufgenommen habe, aber ich bin nie auch
> nur ansatzweise in Bereiche gekommen, mit denen Exim nicht klar kommen
> könnte.


Hmm, okay. Dann liegen wir noch weit von diesen Problemen weg. Pro MX
liegen derzeit knapp 300 Mails in der Queue (also zusammen 900), davon
recht viele Bounces und ein paar wegen 45x auf den Zielsystemen.

Also eher Kinkerlitzchen in den Augen der anderen Betreiber hier.

>> Was tun? Separaten Mailout einrichten? Dort z.B. Postfix benutzen? Der
>> soll ja ein besseres Queue-Management im Grenzbereich haben. Oder gar
>> einen ganz anderen, nur auf Mailout spezialisierten MTA benutzen
>> (ZMailer fällt mir da ein).


> Separater Mailout klingt sicherlich nicht falsch, man behält dann
> vielleicht einfacher den Überblick und kann Eingang und Ausgang
> unterschiedlich optimieren. Was man in der Regel auch auf dem selben
> Server können sollte, aber getrennt wird das schon einfacher.


Da wir eh alles in dem Bereich virtualisiert haben (mittels Xen und
VMware ESX), ist es einfacher, einen neuen Host hochzuziehen, als einen
exim4 auf dem gleichen Host zusätzlich zu betreiben.

Wie schon gesagt: Wir werden wohl die Variante mit dem fallback_host
nutzen, um die langsamen Mails auf eine separate Instanz zu verlagern,
damit die Queue-Runner auf den Haupt-Systemen sich nicht darum kümmern
müssen.

> Ansonsten wundere ich mich gerade sehr darüber, wie man das von Dir
> beschriebene Problem mit der Queue bekommen kann. Wenn ich mal versuche
> geschickt zu raten, dann ist Deine Uni nicht größer als meine und da
> habe ich dann einfach keine Erklärung.


Vielleicht bin ich einfach zu überempfindlich, was das angeht. Ich habe
halt gerne "saubere" Systeme, die einfach zu warten sind und noch genug
Reserven haben.

> Daher würde ich spekulieren, das vielleicht zu viel an E-Mail angenommen
> wird. Da gibt es möglicherweise massiv Optimierungspotential.


Eher nicht. Derzeit werden für jede angenommene Mail 5 ablehnt (wg. "no
such user" etc.)

> Wie bereits angedeutet: Laut LDAP gibt es die Adresse a.b@uni, deshalb
> wird die E-Mail vom MX angenommen, im Backend aber abgelent wg. Over
> quota. Kann über Callout bequem gelöst werden. Aber da arbeitest Du ja
> schon dran.


Richtig. Quota ist bei den wenigsten Usern ein Problem (derzeit).

> Aber mir scheint, Du hast entweder völlig unterdimensionierte Hardware
> oder eine um ein Vielfaches größere Queue als ich. Und wie bereits
> gesagt... das erscheint mir nicht plausibel.


Nein, unterdimensioniert ist da nichts, eher umgekehrt. Vermutlich ist
es einfach nur, dass ich "das Gras wachsen höre".

Grüße,
Sven