On 2/25/06 5:50 PM, "John Peacock" <[EMAIL PROTECTED]> wrote:

> My understanding (and I will be corrected immediately if wrong) is that
> Apache::Qpsmtpd merely replaces the tcpserver or forkerver part of the model,
> i.e. the initial dispatch of the transaction.  In other words, using
> forkserver
> or Apache::Qmsptmd should be completely comparable performance-wise once you
> have accepted the next transaction.  Apache::Qpsmtpd doesn't have any
> [significant] effect on performance once the SMTP conversation has begun.  The
> trunk pollserver implementation should, but that isn't ready for production
> use yet.

There are a few things that behave a little differently like stderr ending
up in apache's error_log and the detection of early chatters doesn't work in
my config (a hybrid of 0.28 and some of my submissions that never got
committed).  It doesn't offer compelling enough value to change existing
forkserver systems nor problems that keep it from rolling back to
forkserver.  Trixie, is a dell 1650 with a 1x1.4GHz and 512M RAM using the
PERC.

trixie# cat qpsmtpd.conf
User smtpd
Group users

Listen 0.0.0.0:25
HostnameLookups On

LoadModule perl_module lib/httpd/mod_perl.so

<Perl>
  use lib qw( /home/smtpd/qpsmtpd/lib );
  use Apache::Qpsmtpd;
</Perl>

<VirtualHost _default_:25>
  PerlSetVar QpsmtpdDir /home/smtpd/qpsmtpd
  PerlModule Apache::Qpsmtpd
  PerlProcessConnectionHandler Apache::Qpsmtpd
</VirtualHost>

trixie# zgrep -c Queued maillog.?.gz
maillog.0.gz:2326
maillog.1.gz:2215
maillog.2.gz:2670
maillog.3.gz:2738
maillog.4.gz:2424
maillog.5.gz:2425
maillog.6.gz:1961
trixie# zgrep -c 'Connection from' maillog.?.gz
maillog.0.gz:9144
maillog.1.gz:8600
maillog.2.gz:9721
maillog.3.gz:10922
maillog.4.gz:11709
maillog.5.gz:11590
maillog.6.gz:12457
trixie# uptime
 7:14PM  up 156 days, 21:20, 3 users, load averages: 2.67, 1.88, 1.29
trixie# uname -a
NetBSD trixie 2.0.2_STABLE NetBSD 2.0.2_STABLE (GENERIC) #14: Tue Jul 19
20:38:53 CDT 2005  
[EMAIL PROTECTED]:/builds/netbsd-2-0/i386/obj/builds/netbsd-2-0/src/sys/arch/i38
6/compile/GENERIC i386
trixie# swapctl -l
Device      1K-blocks     Used    Avail Capacity  Priority
/dev/ld0b     1055968   104544   951424    10%    0
trixie# 

Note that I throttle the incoming connections with the 'loadcheck' plugin
with the default value of 7.  If the system load is over 7, I decline to
service the client.  I don't use apache's hooks to manage the load.


Reply via email to