Graceful degradation in overload conditions

Gary Mills mills at
Sat Apr 4 09:19:07 EDT 2009

We had a situation recently where our Cyrus back-end server
encountered a memory shortage.  The initial result was slow response,
but that provoked an increase in the number of imapd, pop3d, and lmtpd
processes, making the problem much worse.  The lmtpd processes
accumulated because of slow delivery of incoming e-mail, but the
others were likely a result of users starting more sessions.  The
results were not pretty!

What can be done to provide a graceful degradation of service in
overload conditions, so that the server protects itself against a
resource shortage?  I did put an upper limit on lmtpd children.
Sendmail will just queue incoming messages when this limit is reached.

What about imapd and pop3d daemons, which also consume resources?
Are limits a good idea here too?  Users will complain to the help
desk when those limits are reached, of course.  Can the msg/shutdown
file be used to control imapd processes in a nicer manner?

-Gary Mills-    -Unix Support-    -U of M Academic Computing and Networking-

More information about the Info-cyrus mailing list