Sendmail refuses to accept email under heavy load


5th December 2003

I had sendmail running on my Intranet server. That server does a lot of light work, like serve up NFS mounts, run an Intranet radio station, host an Intranet web site, really light stuff. It also does seti.

On my Intranet web site, I keep various cdroms of magazine articles and books in HTML form available for my reference. I got sick of the non-functioning individual search engines, so I decided to set up a Perlfect Search and index all the data. So I configured it and got it ready and set the indexer running. I have about 50,000 HTML pages stored and it comes to about 1.5 gig of data. It took three days to index all that. So the load on that internal machine was high.

At that time, the Intranet server was also my outbound mail server. I didn't realise till near the end of the indexer run that the load could affect sendmail. Anne and I started getting strange email send errors. So I went and looked in /var/log/maillog for more information. In /var/log/maillog, sendmail was reporting:

rejecting connections on daemon MTA: load average: 14
rejecting connections on daemon MSA: load average: 14

I looked in the sendmail documentation and that's right. If the load on the server gets too high, sendmail will just stop accepting email connections. Any email it already has will stay in the queue till the load drops. The O'Reilly sendmail book has the calculations on what sendmail thinks the load average is.

Amazing. I had planned on running all sorts of stuff on that server, but didn't think it would have affected sendmail. I can't have that, so I moved outbound email to my mailserver, and now I can do anything I want on the Intranet server, no matter how heavy the usage.