[Mailman-Users] Mailman-Users Digest, Vol 47, Issue 55
brad at python.org
Wed May 14 19:49:16 CEST 2008
Khalil Abbas wrote:
> my question is, I have a 100,000+ subscribers mailing list, and hosting
> it with godaddy.com (Celeron 2000, 2 GBs RAM) .. but they only allow
> 100,000 emails per day for each dedicated server, so I have to buy a new
> server now, and it's a bit expensive.. I found another cheap service,
> $30/month dedicated servers and they offer unlimited emails per day.. but
> its characteristics are a bit low: AMD, 512 MB RAM ..
> my question is, will mailman with such a huge list which is also rapidly
> growing work on such server? knowing that I only send 1 email newsletter
> a day to the list and none of the users can send to the list but me..
We try to answer all these kinds of questions in the Mailman FAQ Wizard
entry 1.15 at
However, your specific case may need a bit more explanation.
If you read through the various FAQ entries regarding performance, you'll
see that there are some critical factors. Pay special attention to FAQ 4.11
and the stuff down in section 6.
One critical factor is MTA performance. You need to be running the right
MTA in the right configuration, if you're going to be doing that kind of
traffic. This has knock-on requirements for memory, disk I/O capacity, DNS
cache performance and location, etc....
Another critical factor is Mailman lock, pickle, and queue contention. With
a large list, all incoming and outgoing messages are processed in
single-threaded mode, because there's just one pickle for the list which has
to be locked during these kinds of operations, preventing any other list
operations from occurring at the same time. There's also on-disk queue
contention, especially as directory sizes get large. Here, you're going to
want a filesystem that incorporates an internal directory hashing scheme
(e.g., SGI XFS). You can get around the pickle contention by creating a
number of smaller sub-lists, all of which are subscribed to a higher-level
"umbrella" list. All traffic to an individual sub-list will be processed
sequentially, but traffic between sublists can be processed in parallel. An
ideal breakdown for sub-list size would probably be something between the
natural logarithm and the square-root of the total number of subscribers you
have. For 100,000 subscribers, that would be somewhere between 11 and 316
For really advanced stuff, you might want to look at splitting the Mailman
queues and running multiple queue runners for each. The documentation for
this stuff is *not* found in the FAQ or the official written documentation,
and FAQ 4.75 won't help you since you're not load-balancing across multiple
servers. The only documentation for setting up queue slices is found in the
Mailman mm_cfg.py file, so you had better be pretty comfortable with this
kind of stuff.
All that said, I would be surprised if a low-end system like this could
reasonably keep up with such a large list (see that FAQ Wizard entry
mentioned above and pay particular attention to the articles that it links
to for the larger sites). On the other hand, if you can get it to work, I'd
love to hear about it.
If you want to get a sense of what kind of hardware we use for handling the
mail for python.org (including all our mailing lists), see FAQ 1.15
(mentioned above), FAQ 1.24 at
FAQ 4.56 at
> another question, is it easy to install mailman manually? cause in
> godaddy's control panel it's ready to install with 1 click.. but with the
> new cheap service I have to install it myself..
It's about as easy as any software I've ever installed, but then I've been
doing this sort of thing for nearly twenty years. So, I'm not sure I'm the
right person to be answering your "ease-of-installation" questions.
Brad Knowles <brad at python.org>
Member of the Python.org Postmaster Team, & Co-moderator of the
mailman-users and mailman-developers mailing lists
More information about the Mailman-Users