> I created a perl program which dramatically speeds up the
> list delivery: 350-users list is being delivered in 25 minutes,
> while canonical Majordomo sends it for about 7 hours.
> What we usually do, is
> test-outgoing: :include:/usr/local/Lists/test
> Thus, Sendmail creates one queue job for all the list members,
> and delivers the mail sequentually.
> Now we do
> test-outgoing: "|/home/majordomo/wrapper splitlist -l test"
> Splitlist opens a SMTP connection with localhost, and for each N (N=10)
> users sends a separate message. So, sendmail gets several litle jobs,
> N users each. Sure, then it forks so much as it needs to process these
> parallelly. But don't be much afraid, it won't break your machine down:
> my 486dx/33 with 16mb memory sends 350-users list in 25 minutes.
This is very interesting -- perhaps you could post it here (if it's not too
A few observations:
- I hope N is settable, as many people have lists 10x your 350 list.
35 sendmail processes isn't that scary, but 350 is!
- You should really sort your mailing list by host. Otherwise sendmail
can't collapse hosts as well as it would like.
- Along those lines, you should not use 'N' arbitrarily -- it's always
better to batch all mail for one domain into a single batch no matter
how large, since you are typically talking to only one host. Just
batch up what's left....
Paul Close http://reality.sgi.com/pdc (moving soon)