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
Wed, 16 Oct 1996 11:48:18 -0400
text/plain (2065 bytes) , application/pgp-signature (293 bytes)
On Tue, 15 Oct 1996 15:41:19 CDT, george tsai said:
> I have a list of more than 18,000 subscribers. When I distribute a
> announce once a week, it takes up to 8 hours for delivery. During
> the 8 hours period of time, no jobs can be process at all. Any way
> to speed this thing up ?
 
Here's what we did to make it work reasonably fast for a list of 4,000
users that gets hit 10 or 20 times a day:
 
1) In your sendmail.mc, add a line
 
FEATURE(nocanonify)
 
and rebuild your sendmail.cf.  If you are unfortunate enough to not be using
m4 to build your .cf files, do this:
 
a) edit sendmail.cf
b) find a ruleset line that contains a   ${  $}  on the right hand side
c) Comment said lines out with a '#'
d) Save and enjoy.
 
This change bought us an approximate 6x-8x speedup, and took a lot of
load off our nameserver
 
2) Run a local caching-only nameserver, if you have the memory for it.
This saves a round trip on the wire for each host lookup.
 
3) Raise the value of MAXBSMTP - this is a minor win, but may be worth
it.  Our biggest win here was that we have a lot of "local" lists, and
when we raised MAXBSMTP and hacked Sendmail to deal, the local mail
hub got hit with a lot fewer transactions (and our 'delivermail' was
able to do 8 sets of 250 recipients a lot faster than 20 sets of 100
recipeints.  Fork fork thrash thrash ;) The Sendmail hacking was
basically to raise the values of -DTOBUFSIZE=4096 in the Makefile, and
then raise the value of MAXLINE in conf.h
 
4) If your Unixoid supports the concept of LOCALE, you may wish to look
at /usr/include/ctype.h - at least under AIX, there are -Dflags that you
can set to essentially force isupper() and friends to be macros rather
than function calls.  Note that this may be hazardous - I found 9 or 10
places in the Sendmail source where the code assumed it was safe to do
things like toupper(*c++) - but the macro evaluated its argument twice.
I have a patch for this if you need it...
--
                                Valdis Kletnieks
                                Computer Systems Engineer
                                Virginia Tech
 
 
 

ATOM RSS1 RSS2