|
Mime-Version: |
1.0 |
Sender: |
|
Date: |
Wed, 16 Oct 1996 11:48:18 -0400 |
Reply-To: |
|
Subject: |
|
From: |
|
Content-Transfer-Encoding: |
7bit |
In-Reply-To: |
|
Content-Type: |
multipart/signed; boundary="==_Exmh_-1428208262P";
micalg=pgp-md5; protocol="application/pgp-signature" |
Comments: |
|
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
|
|
|