1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217
|
<!--startcut ======================================================= -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<META NAME="generator" CONTENT="lgazmail v1.1pre6">
<TITLE>The Answer Guy 29: 'sendmail' Log Jams and Capacity Problems</TITLE>
</head>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#A000A0"
ALINK="#FF0000">
<!--endcut ========================================================= -->
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <hr> <P>
<!-- =============================================================== -->
<H1 align="center"><A NAME="answer">
<img src="../gx/dennis/qbubble.gif" alt="" border="0" align="middle">
<a href="./lg_toc29.html">The Answer Guy</a>
<img src="../gx/dennis/bbubble.gif" alt="" border="0" align="middle">
</A></H1> <BR>
<H4 align="center">By James T. Dennis,
<a href="mailto:answerguy@ssc.com">answerguy@ssc.com</a><BR>
Starshine Technical Services,
<A HREF="http://www.starshine.org/">http://www.starshine.org/</A> </H4>
<p><hr><p>
<H3><img src="../gx/dennis/qbub.gif" alt="(?)" width="50" height="28"
align="left" border="0">'<tt>sendmail</tt>' Log Jams and Capacity
Problems</H3>
<h4 align="center">running extra '<tt>sendmail -q</tt>' processes</h4>
<p><strong>From Robert Cotran on 28 Apr 1998
<br><br>
Hi there. You seem to know your stuff about Linux. I've been running
it for two years. I have a little server at home. I was at first
running Slackware, I'm not running RedHat 5.0. Here's my problem. After
a while of running, my <tt>sendmail</tt> jams up. It doesn't let in any
mail and it doesn't send out any queued mail. It's the strangest
thing. And I had the same problem running Slackware. I figured that
RedHat (having more updated programs) would be OK, but it's not. After
a while, any queued messages just stay stuck in the <tt>/var/spool/mqueue</tt>
dir, and incoming connections on port 25 are either REAL slow, or not
possible. After rebooting however, all the queued mail zips out, and
incoming connections are fine again. Sorry to bug you, but I just
figured you might have an idea. Thanks for any help you can give me!
<br><br>
Rob
</strong></p>
<blockquote><img src="../gx/dennis/bbub.gif" width="50" height="28" alt="(!)"
align="left" border="0">
You don't say what sort of volume your trying to bump through
there or what sort of connection you have to the net. So
I'll have to assume the worst.
<br><br>
When I was postmaster/sysadmin of a very high volume site
I found that I needed to occasionally run extra copies of
the command '<tt>sendmail -q</tt>' concurrently to help reduce the
backlog in the queue. This command simply makes '<tt>sendmail</tt>'
to one sweep through its queue (mostly outgoing) and
look for items that are ready for a retry.
<br><br>
'<tt>sendmail</tt>' has locking mechanisms (those <tt>x*</tt> and
<tt>l*</tt> files) to prevent concurrency issues. So this is a
safe procedure.
<br><br>
Typically I find that it's the DNS requests that bog down
the processing, so running a
<a href="http://sunsite.unc.edu/LDP/HOWTO/DNS-HOWTO-3.html"
>caching nameserver</a> on the localhost and making it the primary
entry in your <tt>/etc/resolv.conf</tt> can be a big win.
<br><br>
A trick I've used when a system gets temporarily really
overloaded is to tar/gzip up a bunch of <tt>qf*</tt> and
<tt>df*</tt> file pairs (queue control and data) --- ftp that
to another system and extract them into a new directory. Then I
have that system run several queue run processes in
parallel to the other. This is particularly handy
if the other system has a separate pipe (connection
to the Internet).
<br><br>
In Robert Harker's '<tt>sendmail</tt>' Seminar (which I took
a few months ago) he describe a "requeue" mailer.
This is an advanced technique that he would use to
requeue some mail into a separate, low priority,
queue directory. The idea is to prevent a relatively
small number of messages to sites that are dead or
down, and messages to bogus addresses (from your users'
typos, etc) from clogging things up for the other
70 or 80 percent that could be expedited.
<br><br>
Another thing to seriously consider and investigate
is whether you're site is being used as a spammer's
relay. If your SMTP processing load has suddenly and
drastically increased then you might have had some of
your systems "hijacked" by spammers.
<br><br>
To understand this a little bit of explanation is in order. The
Internet was founded in spirit of co-operation so '<tt>sendmail</tt>'
was designed and configured (for the last 20 years) to accept mail
from anyone, to anyone. It would gladly relay mail at the request
of any MTA (mail transport agent).
<br><br>
This was practical and reasonable --- since mail that
needs multiple hops to get somewhere (say from department
to hub/gateway, to other site's hub, to recipient's
department and thence to recipient's home host) shouldn't
need to carry "authentication" information for every
leg of its journey.
<br><br>
However 'spammers' use this openness to send a few copies
of a message with hundreds or thousands of recipients listed
for each. This allows someone with a 28.8 modem to chew up
thousands of gigabit hours of bandwidth over the entire 'net.
<br><br>
In any event you can find some instructions on how to use
the recent configuration options in '<tt>sendmail</tt>' to prevent
some of this abuse. Look at
<a href="http://www.sendmail.com/">http://www.sendmail.com/</a>
for info on the new 8.9 release which supports a number
of anti-spam features for details. (As you might expect
this site also has lots of other sendmail information as
does the older and now slightly out-of-date
<a href="http://www.sendmail.org/">http://www.sendmail.org/</a>).
Sendmail 8.9 includes support for a <tt>FEATURE</tt> (m4 macro set)
that links you into the "Real-Time Black Hole List"
(<a href="http://maps.vix.com/rbl/">RBL</a>) that is maintained by
Paul Vixie (author of DNS BIND/<tt>named</tt> and of the Vixie
'<tt>cron</tt>' among other things).
<br><br>
Like all sendmail <tt>FEATURE</tt>'s this is optional.
<br><br>
For information information about the RBL look at
<a href="http://maps.vix.com/rbl/">http://maps.vix.com/rbl/</a>
<br><br>
For more information about the fight against spam look at:
<a href="http://www.cauce.org/">http://www.cauce.org/</a>
<br><br>
For the best free support on the net for sendmail related issues
subscribe to the
<a href="news:comp.mail.sendmail">comp.mail.sendmail</a> newsgroup.
</blockquote>
<!--================================================================-->
<P> <hr> <P>
<H5 align="center"><a href="http://www.linuxgazette.com/ssc.copying.html"
>Copyright ©</a> 1998, James T. Dennis <BR>
Published in <I>Linux Gazette</I> Issue 29 June 1998</H5>
<P> <hr>
<!--================================================================-->
<p align="center"><table width="95%"><tr align="center">
<td rowspan="4"><A HREF="lg_answer29.html"><IMG
SRC="../gx/dennis/answernew.gif"
ALT="[ Answer Guy Index ]"i
align="left"></A></td>
</tr><tr align="center">
<!-- begins -->
<td><A HREF="tag_versions.html">versions</A></td>
<td><A HREF="tag_lilo.html">lilo</A></td>
<td><A HREF="tag_virtdom.html">virtdom</a></td>
<td><A HREF="tag_kernel.html">kernel</A></td>
<td><A HREF="tag_winmodem.html">winmodem</a></td>
<td><A HREF="tag_basicmail.html">basicmail</a></td>
<td><A HREF="tag_betterbak.html">betterbak</a></td>
</tr><tr align="center">
<td><A HREF="tag_shadow.html">shadow</a></td>
<td><A HREF="tag_dell.html">dell</a></td>
<td><A HREF="tag_dumbterm.html">dumbterm</a></td>
<td><A HREF="tag_whylinux.html">whylinux</a></td>
<td><A HREF="tag_redhat.html">redhat</a></td>
<td><A HREF="tag_netcard.html">netcard</a></td>
<td><A HREF="tag_macrovir.html">macrovir</a></td>
</tr><tr align="center">
<td><A HREF="tag_newlook.html">newlook</a></td>
<td><A HREF="tag_tacacs.html">tacacs</a></td>
<td><A HREF="tag_sendmail.html">sendmail</a></td>
<td><A HREF="tag_dialdppp.html">dialdppp</a></td>
<td><A HREF="tag_ppp233.html">ppp233</a></td>
<td><A HREF="tag_msmail.html">msmail</a></td>
<td><A HREF="tag_procmail.html">procmail</a></td>
<!-- ends -->
</tr></table>
</P> <hr> <P>
<!--================================================================-->
<A HREF="./lg_toc29.html"><IMG SRC="../gx/indexnew.gif"
ALT="[ Table Of Contents ]"></A>
<A HREF="../index.html"><IMG SRC="../gx/homenew.gif"
ALT="[ Front Page ]"></A>
<A HREF="lg_bytes29.html"><IMG SRC="../gx/back2.gif"
ALT="[ Previous Section ]"></A>
<A HREF="./hamilton.html"><IMG SRC="../gx/fwd.gif"
ALT="[ Next Section ]"></A>
<!--startcut ======================================================= -->
</body>
</html>
<!--endcut ========================================================= -->
|