three things spring to mind- 1. the greylisting plugin uses a lock on the dbm file to prevent the processes from clobbering each other. the GL plugin could be re-written to use an RDBMS instead, that might help.
2. the greylist db might be huge, i wrote a little script that prunes the ancient entries from my version. 3. how slow is klez? try turning GL or klez off for a minute and see if things improve. allan On 8/16/07, Geoff Shang <[EMAIL PROTECTED]> wrote: > Hello, > > I realise it's poor form to jump on a mailing list and immediately ask for > help, so I hope you will be forgiving. > > I administer a system for a US non-profit organisation. The previous admin > chose to use Qmail and then QPSMTPD to allow the system to do greylisting. > > We are experiencing two problems, one of which may or may not be related to > QPSMTPD (one certainly is). > > We process quite a lot of mail, but as far as I can see we are only really > doing greylisting and not much else. Yet we are seeing system load of > between 5 and 7 constantly, with QPSMTPD processes using over 20% CPU. > > Note that it used to be a lot higher and we used to get long delays in > message processing. I switched us to qpsmtpd-forkserver which got our > processing times down to something acceptable and our system loads down to > about 6, but we still think it's higher than it should be. > > Also, sometimes we have situations where mail seems to get stuck, as if some > external entity on which the process is relying has become temporarily > unavailable. The message queue (that output by "qmail-qstat"), which > normally hovers at about 130, can go up as high as 2000 when this happens. > But these situations have resolved themselves without any intervention from > me. > > My questions are these: > > 1. Does anyone have any idea why our system load is running so high? > > and > > 2. Which version of qpsmtpd should I be running? There seems to be 4 > different server programs now and I don't really appreciate the difference > between the various programs. > > We are running QPSMTPD 0.40 under Debian 3.0 (Woody - yes it's old). Perl > is version 5.6.1. > > I am executing the forkserver with the following command: > > exec ./qpsmtpd-forkserver --listen-address `head -1 config/IP` --port 25 \ > --limit-connections 30 --user smtpd 2>&1 > > The following plugins are being loaded (in this order): > > hosts_allow > dont_require_anglebrackets > check_earlytalker > count_unrecognized_commands 4 > check_relay > greylisting black_timeout 600 > require_resolvable_fromhost > rcpt_ok > > virus/klez_filter > > queue/qmail-queue > > I know relatively little about Email processing, and very little about > QPSMTPD. Any assistance anyone could give would be very much appreciated. > > BTW: When upgrading from 0.31, I discovered that 0.40 seems to depend on > net/ip.pm which the ReadMe does not mention as a dependency. Woody did not > have this module packaged, but Sarge had it and it installed with no > problems. > > Geoff. > > -- "The truth is an offense, but not a sin"