Skip to Content.
Sympa Menu

devel - Re: [sympa-authors] Performance issues in 3.1B.12

Subject: Developers of Sympa

List archive

Chronological Thread  
  • From: Aumont <address@concealed>
  • To: Cris Rhea <address@concealed>
  • Cc: address@concealed, address@concealed, address@concealed
  • Subject: Re: [sympa-authors] Performance issues in 3.1B.12
  • Date: Tue, 15 May 2001 08:59:37 +0200

Cris Rhea wrote:
>
> One of the things we're seeing is that Sympa will spawn a large number
> of sendmail processes. After a period, most of them will be defunct
> with only a couple running. This cycle repeats.
>
> Why does Sympa keep the defunct processes around rather than letting them
> exit and starting up a new sendmail? How can I better tune Sympa for
> large list (our list is 140,000+ people) delivery?

There are a lot of tunning possible for your sendmail.

Sympa do not end its sendmail processus until the number of processus
reach the maxsmtp sympa parameter. The is no need to do it because still
lunching new processus. When maxsmtp is reached all defunct processus
ends and Sympa continue its job.

How to make this faster :
-increase MAXSMTP : you need to verify some system limits such as maximum
number of open file or availible memory.

-decrease the number of sendmail needed for the complete distribution
increasing the NRCPT and AVG sympa parameter (we use nrcpt = 40, avg 15).

-make each sendmail as fast as possible :
+use a specify sendmail binary compiled in order to use a specific
sendmail.cf file allow you to tun your sendmail for outgoing
messages. This allow to use the nocanonify option. This option is
really important (when sendmail check for CN of receipient adresses
it doesn't close it's STDIN until this task is done, so the instruction
"fork sendmail" can be very very long for sympa. You can also use special
timer in sendmail config :
O Timeout.connect=3m
O Timeout.iconnect=10s
O Timeout.datafinal=30m
O Timeout.ident=0s

The iconnect tiemer is important : you probably prefer put a message in
the
spool if sendmail can't connect to it immediatly.


A alternative is to use postfix. The tunning is very defferent from sendmail
solution because Postfix when called using the sendmail compatible binary
do not try a smtp session to deliver the message. It just put in the spool
the message. In this case Sympa need only a few minutes for 140 000 messages,
but postfix will need a lot of time in order to distribute all thoses
messages.
I'am not a postfix expert and I can't help for it's tunning but the first
think
to do is to increase a lot NRCPT and AVG. (Fil could you give us some detail
?)
Postfix is much more faster than sendmail but the communication
with sympa should be smtp session, not lunching commands.

The best architecture is probably to use a MTA that do not try to
connect over Internet to the mail exanger of each receipient but only
connect to a specify MTA on the LAN. This MTA can run on a set of machine
use dns round robin load balancing, it can run postfix with best performences
because riched on port 25 etc etc. The only thing you need is a simple SMTP
engine called by Sympa just just relay messages to your MTA. This can be done
using sendmail. In this case all sendmail can be extremely fast and you could
increase a lot NRCPT and AVG (NRCPT = AVG = 150 ?)

Serge

-----------------------------------------------------------
Serge Aumont Comité Réseaux des Universités
Campus Beaulieu
35042 Rennes Cedex +33 2 998 471 47



Archive powered by MHonArc 2.6.19+.

Top of Page