LSTSRV-L Archives

LISTSERV Site Administrators' Forum

LSTSRV-L

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Valdis Kletnieks <[log in to unmask]>
Thu, 9 May 2002 07:58:06 -0400
text/plain (72 lines)
On Thu, 09 May 2002 13:56:48 EDT, Dennis De Marco <[log in to unmask]>  said:

> Any sendmail tips tricks or suggestions are welcome.

Hmm.. that would be me, probably ;)

0) Run a local caching-only nameserver.  If you don't have the resources
to do so, you don't have the resources to be trying this sort of stuff. ;)

1) FEATURE(nocanonify)    in your sendmail.mc
This will vastly speed things up on Sendmail accepting mail from Listserv
(I've measured a 6X speedup right there).

2) Run Sendmail 8.12 - 8.12.3 is the current version.  This includes a LOT
of stuff internally that makes things go faster.

3) If you're on Sendmail 8.12, you can do this in the Listserv go.user:

 MAXBSMTP="1000"
 # Enable asynchronous SMTP process
 SMTP_FORWARD="localhost"
 SMTP_FORWARD_1="3*localhost"

This will result in a few large things being handed to Sendmail rather than
a lot of little ones.  These should then get split into lots of little
jobs by Sendmail (you may want to set MAX_DAEMON_CHILDREN and/or
use the 'max queue runners' feature of the queue groups to limit how many
children get started - you *CAN* fork-bomb yourself this way ;)

4) define(`confTO_ICONNECT',`5s')     in your sendmail.mc  will make your
sendmail only wait 5 seconds on the *FIRST* delivery attempt (yes, this
is not RFC1123-compliant, but helps enormously for total latency - it will
only affect hosts that take more than 5 seconds to get through the 3-packet
handshake, but really *ARE* up - exceedingly rare in practice, and you'll
catch them on the next queue run anyhow).

5) Depending on your traffic patterns, the multiple queue group support
may be of great benefit.  Multiple directories within a queue group are
a help as well....

6) You probably want to use the 'qtool.pl' or similar tool to manage
multiple queues, and get old mail out of the way of new mail.  Otherwise
queue runs take forever.

> MBRHTDEALHTML (46,706 recipients) Start 15:55:38 Finish 18:51:32 Time:
> 3 hours or so

The last time we had a posting to a 40K subscriber list, I saw the following:

lsv_amin put it in the Listserv spool at 16:29:34
The first recipient hitting sendmail coming back at 16:33:48
The *LAST* recipient accepted by sendmail at 16:35:22

(Yes, we fed 40K recipients into Sendmail in under 2 minutes).

I don't have *direct* data of how fast they were delivered, but any list with
40K recipients generates a lot of bounces, even with clean data. Checking the
logs, even the *BOUNCES* were coming in at 30/min from 16:35 until 16:44, at
which point it dropped to 1-2/min - so circumstantial evidence is that we'd
attemtped *every* address at least once within 10 minutes (and any we still had
were because the remote host wasn't reachable).  Hopefully that's enough
improvement over your 3-hour result.

This is on fairly small/slow iron - IBM RS6000/F50, 4 200MZ 604e processors.

If you need more help tuning it than that, we can discuss consulting fees ;)

--
                                Valdis Kletnieks
                                Computer Systems Senior Engineer
                                Virginia Tech

ATOM RSS1 RSS2