Skip to Content.
Sympa Menu

en - Re: increasing SMTP concurrency, was: [sympa-users] SMTP rate limiting

Subject: The mailing list for listmasters using Sympa

List archive

Chronological Thread  
  • From: Thomas Berry <address@concealed>
  • To: Micah Anderson <address@concealed>
  • Cc: Serge Aumont <address@concealed>, address@concealed
  • Subject: Re: increasing SMTP concurrency, was: [sympa-users] SMTP rate limiting
  • Date: Wed, 29 Oct 2008 08:05:10 -0700

Micah,

We had a similar problem with Sympa and sendmail. I'm not certain how this would apply to Postfix, but the issue sounds the same. It took anywhere from 45-65 minutes to distribute a message of about 7500 members. I had to disable sendmail's canonicalization function, which makes sure that the recipient email addresses contain a domain that is registered in the DNS as an MX record or, at least, an A record.

Since the list server delivers all its messages to a mail hub, we set the nocanonify option in sendmail. After the change, sympa has consistently completed the distribution in about 30 seconds.

Thomas

Micah Anderson wrote:
I'm actually looking to do the opposite of what was originally posted on
this thread.

In our setup, we have a few lists with a very large number of
subscribers. When a post is sent to one of these lists, any other
sympa processing is blocked until it completes delivery to the MTA (in
our case, postfix). On the below example, there are almost 60k
subscribers, and the hand-off from sympa to postfix takes 2843 seconds
(about 47 minutes):

Oct 8 21:01:57 parrot sympa[29909]: main::DoFile() Processing
/address@concealed ;
sender: "MO" <address@concealed> ; message-id:
<000601c929c3$bdc2c6b0$0a40a8c0@SERVIDOR>
Oct 8 21:01:57 parrot sympa[29909]: main::DoMessage() Processing
message for pd-mo with priority 0, <000601c929c3$bdc2c6b0$0a40a8c0@SERVIDOR>
Oct 8 21:49:12 parrot sympa[29909]: List::send_msg() Multipart message
changed to singlepart
Oct 8 21:49:14 parrot sympa[29909]: List::send_msg() Multipart message
changed to singlepart
Oct 8 21:49:20 parrot sympa[29909]: main::DoMessage() Message for
pd-mo from address@concealed accepted (2843 seconds, 7264 sessions,59761 subscribers),
message-id=<000601c929c3$bdc2c6b0$0a40a8c0@SERVIDOR> ,
size=23444

During the period where sympa logs the first two messages at 21:01,
there are no more sympa messages logged to the sympa.log until this
hand-off has finished, about 47 minutes later. In otherwords, for 47
minutes sympa is doing nothing but feeding this list to postfix, I've
crawled my logs and averaged the times for this list, and they are are
averaging out to be 2459 seconds, approximately 40 minutes.

If I am correct, what this means is that for 40 minutes there are no
other sympa operations, so all other messages that are in the queue,
or that arrive in the queue during this period are blocked by this
process.


Why does it take so long, and how can I either speed up this process
or parallelize it?

I have increased sympa.conf's maxsmtp 200 from 100 (as well as
postfix's smtp process limits), but that didn't change anything in the
times.

Thanks for any ideas,
Micah




Archive powered by MHonArc 2.6.19+.

Top of Page