[Mailman-Users] Mailman needs 20 seconds to complete per email

Mark Sapiro mark at msapiro.net
Sun Dec 2 21:27:43 CET 2012


Karsten Becker wrote:
>
>What I can see in the mail.log is, that the incoming email towards a
>mailing list gets transported nearby "at once" from Postfix to Mailman.
>Then I see nothing in the Mailman logs for 20 seconds. Then Mailman
>prints out these message shown below and nearby "at once" I see the
>email in mail.log going out via Postfix.


But if you look at the whole log, you'll see that the connect from
Mailman to Postfix to deliver that message occurred 20 seconds earlier.


>So, how/why could a Postfix configuration setting be the cause...?
>Postfix, as far as I can see it in mail.log, is handling the email fast
>as hell.


Postfix is acknowledging the end of DATA, writing a log entry and
delivering the outgoing mail. The whole transaction is:

Connect
HELO
MAIL FROM
RCPT TO
...
RCPT TO
DATA
(message data)
.

Somewhere in that transaction, Postfix is taking a long time to respond.

If you need more detailed logging to figure it out, see the last
paragraph of my reply at
<http://mail.python.org/pipermail/mailman-users/2012-November/074439.html>.


>This question is definitely not for ranting - I'm just trying to
>understand correctly how everything works together to find the
>"brake"...  ;-)


Postfix delivers the mail to Mailman. It is immediately queued in
Miailman's in/ queue for IncomingRunner. IncomingRunner wakes up
within 1 second and processes the message through the pipeline of
Handlers. If there are no errors, nothing is logged. The ToArchive
handler queues the message in the archive/ queue for ArchRunner and
the ToOutgoing handler queues the message in the out/ queue for
OutgoingRunner.

If the message is a post and it is archived, you will see it in the
list's archive within 2 seconds (maximum sleep time in IncomingRunner
and ArchRunner) of Postfix delivering it to Mailman.

Likewise, within the same 2 seconds, OutgoingRunner will pick up the
message and begin processing it. When done, it will write the post and
smtp log entries. In the smtp log entries, the 21+ second processing
time is the time in OutgoingRunner. All OutgoingRunner is doing is
SMTP to the outgoing MTA (host and port set by SMTPHOST, default =
'localhost', and SMTPPORT default = 0, SMTPPORT = 0 implies port 25).
It is that SMTP transaction that is taking 21 seconds because of some
configuration or other issue in the outgoing MTA.

-- 
Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan



More information about the Mailman-Users mailing list