Hello world,
I have a very strange performance problem which only affects one small announce-only list with approximately 11000 recipients: The smtp logfile shows that it takes Mailman about 8400 seconds to deliver the mails, which just doesn't make sense.
Setup: Mailman is configured to deliver outgoing mails to a dedicated Postfix smtpd(8) daemon listening on port 10031. That daemon is configured with all the usual stuff, no DNS lookups, no recipient verification, no pre-queue filters, dedicated DNS caches and so on (if it really matters, I can post the complete configuration to this list). VERP and personalization are turned off on the Mailman side. Postfix version is 2.8-20100213, but I ran a quick test with 2.6.5 just to be safe, and it doesn't change anything. Mailman version is 2.1.11 from Debian/stable.
After I first noticed the problem, I checked the logs - nothing suspicious there. So I decided to to take some TCP captures.
For all other lists on this server, the conversation between Postfix and Mailman is very fast paced, but for that one list, it takes almost one second for a recipient to be specified (which is then acknowledged immediately by Postfix).
I really don't have any idea where I coul start debugging, or how. Normally it is the MTAs performance that people need to worry about, but that particular mailserver isn't busy at all, not even handling 550k messages per day. Posting to all other lists only takes a fraction of time, even ones that are much larger. There are no old queue files around, no exceptions being thrown, no process running at 100% CPU load during delivery, nothing shunted - it's just slow.
As a quick workaround, I've increased the overall parallelism, as Ian Eiloart pointed out in [1], to ensure that the one slow list doesn't block anything, so the issue isn't really "top priority" - I'd be very grateful for any hints, though.
Stefan
[1] http://mail.python.org/pipermail/mailman-developers/2009-June/020643.html