[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Spawning multible smtp transport agents.



> Hello everyone...
> 
> I have set up the following scheduling stanza for smtp delivery to
> a machine, but it is not behaving as I have expected it to.
> Even after a queue of 5000 messages devellopped, the scheduler did
> not spawn additional smtp TA's to process the thread.  I've set both
> maxchannel and maxta to large values, set interval and retries to very
> low, but to no avail.
> 
> The messages _are_ being routed through this stanza, as the smtp TA logs
> to the correct log file...

	The scheduler runs only ONE transporter on each  channel/host
	pair.  However if you had selector:
		smtp/*istar.ca
	and emails for:
		a.istar.ca, b.istar.ca, and c.istar.ca
	you would get three transporters running.
	A huge queue to ONE system is always troublesome.

	Err.. Which version of ZMailer you have running ?

> [ excerpt from /opt/mail/zmailer/db/routes ]
> istar.ca        smtp!istar.ca
> 
> [ excerpt from /opt/mail/zmailer/scheduler.conf ]
> 
> smtp/istar.ca
>                 maxchannel=2000
>                 maxring=10
>                 maxta=2000
>                 interval="5s"
>                 retries="1"
>                 skew=1
>                 command="smtp -sl /var/log/mail/smtp.istar.ca"
> 
> Does my interpretation of the man pages reflect the actual intention of 
> the keywords?
> 
> maxchannel=2000    - if the number of TA's being used on the smtp channel
>                      (host independent) does not excede 2000, then scheduler
>                      may start another to process mail for this stanza.

	Yes, however the scheduler may or may not be able to run that
	many childs -- if your system can have 2000+ file-descriptors
	open at any single process, then you can do it.

> maxring=10         - up to 10 TA's may be started to process mail messages
>                      for all hosts in the thread.  In our case, all messages
>                      in the thread are for istar.ca

	Yes, you have only ONE THREAD in the THREAD-GROUP, a.k.a. "ring".

> maxta=2000         - if the number of TA's being used over all channels
>                       (channel & host independent) will not excede 2000, then
>                      scheduler may spawn another.

	Yes

> interval=5s        - initial delay period until we scheduler with schedule
>                      smtp TA to deliver mail for this channel/host.  I tried
>                      multilple interval times, ranging from 5s to 5m.  No
>                      difference.

	Actually this is RETRY interval.  Nor applicable here.

> retries=1          - multiple of initial interval (interval=5s) we should
>                      wait until scheduling an smtp TA again.

	Yes, retry scheduling definition.

> skew=1             - this isn't entirely clear yet, but I believe this
>                      determines how quickly messages just delivered to the
>                      scheduler become scheduled relative to other messages
>                      in the thread.

	It had meaning in the old scheduler, but not anymore.

> Thank you for any advice you can give...

	Following two were developed to improve big queue processing
	at vger.rutgers.edu; especially the "overfeed" is important
	as the transport agent must ask for more jobs after it has
	finished the previous one, and at highly loaded system the
	scheduling roundtrip (around all 200+ children) did take
	quite some time..

	ageorder
	overfeed=150

	Also your receiving system should be able to do EHLO, and
	PIPELINING - very least.  They improve the SMTP command
	latency by doing it in pipelined mode.

> Cheers,
> Kevino.
> -- 
> Kevin O'Donnell
> iStar internet inc.
> kevin.odonnell@istar.ca

	/Matti Aarnio <mea@nic.funet.fi>