Skip to Content.
Sympa Menu

devel - Re: [sympa-dev] sympa distribution delays

Subject: Developers of Sympa

List archive

Chronological Thread  
  • From: Olivier Salaün <address@concealed>
  • To: Thomas Berry <address@concealed>
  • Cc: sympa dev <address@concealed>
  • Subject: Re: [sympa-dev] sympa distribution delays
  • Date: Tue, 09 Sep 2008 14:00:09 +0200

Hi Thomas,

Your Sympa server should be able to deliver messages a bit quicker ;-) As an example, our Sympa server gets rid of a messages for 16.000 subscribers in 481 seconds.

Note that sympa-distribute processes end up forking, with the child process executing the sendmail program and dying. I suppose that the traces you get relate to the sendmail program. Therefore you should investigate in this direction ; Sympa being probably not guilty O:-)

Thomas Berry a écrit :
Sympa version 5.3.2 on Red Hat EL4 update 4

This is part of my continuing saga dealing with a distribution of 7600 subscribed members that is taking 45-60 minutes for Sympa to complete. Another list of 440 messages took 95 minutes to complete, while smaller lists take only a few seconds to complete.

Today, I setup Sympa so that its call to sendmail would queue the messages locally. I setup queue runner sendmail process to deliver the messages from the local queue. (Sendmail is configured with a smart host so that it delivers to a cluster of MTAs on our domain). The interesting part of this is that Sympa only took 20 seconds to complete this distribution in our development environment running the same Sympa and sendmail configuration, Sympa and OS release, and a list with the same list of members exported from the mailing list in production.

During the distribution, top shows the load average at about .15; over 600MB out of 2GB of free memory; and a very low IO wait.

Note that the sympa-distribute process that writes the message file takes several minutes for each message to complete: "write(11, " \nScience activities concluded w"..., 2265) = 2265". Also of note, once Sympa finished generating the messages for this distribution, the messages that were queued up behind it distributed rather quickly with no signs of delay. I've also done SQL and LDAP tests which show no signs of delays (From what I know about Sympa, interactions with LDAP and SQL have completed before the distribution process starts generating messages).

I've asked this before, but I'm getting desperate trying to find out why the production system isn't performing anywhere near as efficiently as the development server (both environments use the hardware).


Here's a sample of strace output from the sympa-distribute process while it was constructing the messages for the distribution. Maybe someone can glean some information from it.

--- SIGCHLD (Child exited) @ 0 (0) ---
select(0, NULL, NULL, NULL, {0, 297000}) = 0 (Timeout)
write(11, "Received: from mail.jpl.nasa.gov"..., 4096) = 4096
write(11, " \nScience activities concluded w"..., 2265) = 2265
close(11) = 0
pipe([10, 11]) = 0
ioctl(10, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbffbaf58) = -1 EINVAL (Invalid argument)
_llseek(10, 0, 0xbffbaf90, SEEK_CUR) = -1 ESPIPE (Illegal seek)
ioctl(11, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbffbaf58) = -1 EINVAL (Invalid argument)
_llseek(11, 0, 0xbffbaf90, SEEK_CUR) = -1 ESPIPE (Illegal seek)
fcntl64(10, F_SETFD, FD_CLOEXEC) = 0
fcntl64(11, F_SETFD, FD_CLOEXEC) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7fa8708) = 23853
--- SIGCHLD (Child exited) @ 0 (0) ---
close(10) = 0
select(0, NULL, NULL, NULL, {0, 299999}) = 0 (Timeout)
write(11, "Received: from mail.jpl.nasa.gov"..., 4096) = 4096
write(11, " \nScience activities concluded w"..., 2265



Here's the sympa log event that shows the distribution completed:

Sep 4 14:58:46 list sympa(message)[20483]: main::DoMessage() Message for cassini from address@concealed accepted (2790 seconds, 59 sessions, 7695 subscribers), message-id=<p06230916c4e5fa93c13c@[137.78.239.39]> , size=6114




Archive powered by MHonArc 2.6.19+.

Top of Page