[Mailman-Users] Slow delivery

Richard Barrett r.barrett at openinfo.co.uk
Sun Oct 10 23:16:39 CEST 2004


On 7 Oct 2004, at 03:32, AE Somerville wrote:

> I am currently experiencing a very slow delivery of email from mailman 
> to
> our smart relay server. The job of mailman in our system is to accept 
> the
> list message expand it and inject it directly back to our mail router 
> for it
> to decide where the messages are to go. At no time will the mailman 
> server
> connect and deliver a message to the external SMTP host.
>
>

As nobody else appears to want to comment, I will provide my 2 cents.

The time being logged is the time that the outbound SMTP server is 
taking to accept the message; not something Mailman controls directly 
but something that possibly should be investigated at the outbound SMTP 
server end.

However, on the systems I manage I do not have Mailman talk directly to 
outbound relays on other machines although I did at one time long past.

My practice is to have Mailman hand outbound messages, using SMTP, to 
the MTA on the Mailman server machine; that MTA has to be in place 
anyway to handle incoming traffic.

My reason is that any competent MTA is generally far better than 
Mailman at dealing with the vagaries of message queuing and retrying 
and that sort of inter-MTA stuff.

This can be particularly beneficial with older versions of Mailman as 
Mailman can be overly aggressive towards the outbound MTA when dealing 
with retries; when Mailman wants to get rid of outbound traffic it sets 
about retrying it with a will if it doesn't get accepted the first 
time. If Mailman is talking directly to an outbound relay with a 
problem it can and will bury that server with retry attempts.

Even with the latest Mailman version (2.1.5) the backoff strategy when 
successive retries are required is IMHO less effective than those 
adopted by competent MTAs such as sendmail.

In general Mailman's outgoing runner then gets faster/more consistent 
service from its local MTA and you are much less likely to get a 
high-CPU usage outgoing runner when the outbound message path is held 
up for any reason.

Just an opinion.

>
> Oct 06 18:24:02 2004 (21646) 
> <mailman.59.1097038133.9270.acidres at qut.edu.au>
> smtp for 1 recips, completed in 9.089 seconds
>
> Oct 06 18:24:30 2004 (21646) <bfxvzepvpvzfjuuvmtk at qut.edu.au> smtp for 
> 1
> recips, completed in 27.876 seconds
>
> Oct 06 18:24:40 2004 (21646) <tnvrvmfxofptwtcnywt at qut.edu.au> smtp for 
> 3
> recips, completed in 10.496 seconds
>
> Oct 06 18:24:56 2004 (21646) <ttxnisxjtswzmzebxnf at qut.edu.au> smtp for 
> 1
> recips, completed in 14.809 seconds
>
> Oct 06 18:25:39 2004 (21646) <vjnpqeylvztebmlpdzp at student.qut.edu.au> 
> smtp
> for 96 recips, completed in 41.099 seconds
>
> Oct 06 18:25:44 2004 (21648)
> <5.1.1.5.2.20041006144107.029c4e50 at pop.qut.edu.au> smtp for 849 recips,
> completed in 584.837 seconds
>
>
>
> The emails with one recipient are the killers as there are a lot of 
> them and
> it they all take in excess of 10sec each then the rest of the list
> processing falls behind as a result. It seems like the outbound qrunner
> process is taking things at a very slow pace. The installation is on a 
> local
> hard drive but the logs are on an NFS mount. All the queue runners are
> loading OK and I'm not seeing much by way of errors, its just slow to 
> get
> the mail out (2Hrs+) and the machine CPU/RAM is not being used much at 
> all,
> generally it's 75% idle. Messages do flow through, its just we get 
> more than
> we deliver out so the out directory is overflowing. (when they are 
> flowing
> the delivery times to fluctuate wildly; 1 message recipient can take
> 6.661sec while the 3 recipient message above it in the log only took
> 0.370sec)
>
>
>
> We have a lot of messages that reject but we found that the qrunner was
> retrying the 100s of them every hour so we lengthened that to every 
> 24Hrs.
> (We know the messages are likely to be deleted if they are not 
> accepted in
> the first instance by the smtp smart relay, but we need to keep them to
> retry in just case of an aliases error on the relay) Other qrunner 
> configs
> from the URL included
>
>
>
> Everything is vanilla except for the site configs below and one code 
> change:
>
> In "mailman-2.1.5/Mailman/Queue/Switchboard.py", change line 167 from
>
>         if not lower or (lower <= long(digest, 16) < upper):
>
> to
>
>         if (lower == upper) or (lower <= long(digest, 16) < upper):
>
>
>
>
>
> Settings from mm_cfg.pycat
>
> #http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq06.006.htp
>
> QRUNNER_LOCK_LIFETIME = hours(20)
>
> QRUNNER_PROCESS_LIFETIME = hours(2)
>
> QRUNNER_MAX_MESSAGES = 50000
>
>
>
>
>
> SMTPHOST = 'smtp.qut.edu.au'
>
> SMTPPORT = 25
>
>
>
> MAILMAN_OWNER     = 'list-manager-owner@%s' % DEFAULT_HOST_NAME
>
>
>
> DEFAULT_MAX_MESSAGE_SIZE = 5000           # KB
>
> DEFAULT_SEND_REMINDERS = 0
>
> DEFAULT_SEND_WELCOME_MSG = 0
>
> DEFAULT_MINIMUM_REMOVAL_DATE = 30
>
> DEFAULT_MINIMUM_POST_COUNT_BEFORE_BOUNCE_ACTION = 10
>
> SMTP_MAX_RCPTS = 1000
>
> SMTP_MAX_SESSIONS_PER_CONNECTION = 0
>
> MAX_DELIVERY_THREADS = 0
>
> DEFAULT_ARCHIVE = Off
>
> DELIVERY_RETRY_PERIOD = days(5)
>
> DELIVERY_RETRY_WAIT = hours(24)
>
>
>
> ------------------------------------------------------
> Mailman-Users mailing list
> Mailman-Users at python.org
> http://mail.python.org/mailman/listinfo/mailman-users
> Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py
> Searchable Archives: 
> http://www.mail-archive.com/mailman-users%40python.org/
>




More information about the Mailman-Users mailing list