Wed, 28 Mar 2007
Without Qmail
Two weeks ago I have moved linux.cz
mailserver and listserver from
Qmail and
EZMLM to
Postfix and Mailman. So far I have mixed impressions from this move:
On the positive side:
- Postfix can reject mail inside the SMTP session, so we are not sending delayed bounces anymore. Thus our average mail queue size is down to about 500 mails, while it has been between 50k and 100k messages with Qmail.
- I have installed ClamAV antivirus, and it apparently catches some malware, which passes through the university relay (even though they run a commercial antivirus software on it).
- Probably because of the lower mail queue length, the peak throughput of the mailserver went from about 1200 messages per 5 minutes (a daily maximum) to almost 2400 messages per 5 minutes (also a daily maximum). I don't think Postifx is that much faster itself.
- The gateway from our listserver to the usenet news works again - setting it up has been a matter of few clicks to the Mailman web interface. Nice!
- The Mailman web interface allows me to delegate more admin tasks to particular list owners.
As you can see, the positives are mostly related to Postfix. On the other hand, the negatives are mostly related to EZMLM to Mailman move:
- The loop detection is not even remotely as good in Mailman as it was in EZMLM - the first day after the move we had a mail loop in the Docbook list, which we have stopped after maybe 1500 mails.
- Mailman tends to overreact to the list members, whose MTAs reject spams
or viruses in the SMTP session: the resulting bounce leads to the suspended
membership, probe messages, and many other kinds of annoyances. With
VERP
[?] the situation seems to be a little better, but subjectively it is still worse than with EZMLM, which has been almost maintainance-free. - Our Nagios several times a day warns me that the FTP service running on the same host is in the "critical" state. When I check it up, it looks prefectly OK.
I suspect that the load peak when distributing a message to our biggest list, or something like that (Wietse Venema's overuse of
fsync(2)
maybe). - Mailman is programmed in Python! Apart from few very basic tasks,
which have their standalone commands, everything other has to be done in Python.
It even does not have the text-based or SQL-based data storage,
and it stores everything in Python "pickles" (which as I understand it is
something like Perl's
Storable
). Bleeeh. - Pipermail (the Mailman default web-based frontend to the list archive) sucks. I need to get some time to connect my own web-based archive, which I have used with EZMLM) with mailman.
Maybe I am doing something wrong, because I don't think I have these problems with other Mailman-based lists I am member of. Need to get some sample settings which other list owners use somewhere.