On Thu, Aug 02, 2007 at 01:00:04PM -0700, Paul B. Henson wrote: > On Wed, 1 Aug 2007, Robert Felber wrote: > > > I.e: 10831 had 8 SMTPD "clients". If 1 of those is served, all others > > must wait. So - the 8th one has to wait a long time - but not always, > > depending on whether all other smtpd are active and how long the requests > > take. > > I guess I misunderstood the policyd-weight architecture? I thought each > child process served one and only one request at a time, which is why you > recommended that the configured number of children match the configured > number of postfix processes?
No, a policyd-weight children "can" serve more than one smtpd client. New connections are handed to the next child if the child process is busy. Out of curiousity: what are the average delays of policyd-weight? e.g: what gives bzgrep delay: /var/log/mail/maillog* | perl -e '$m=0;$mi=200;while(<>){/ ([.\d]+)s/; ($m < $1) ? $m = $1: $m=$m; ($1 < $mi) ? $mi = $1 : $mi=$mi; $s += $1; $c++} print "max: $m, min: $mi, avg: ".$s/$c."\n"' gives here: max: 36, min: 0, avg: 0.411011958077474 If avg is high then we should look closer on how many high-delays requests we have. Net::Server is not the plan, instead using Net::DNS bgsend/read and selecting over DNS/policyd-weight sockets. This will allow us to use N CPU children which do serve 1000+ clients. This requires either a rewrite or some more continuous freely available time for me. This is why I don't have a fix yet. Besides of that, on 4th Aug I'll start vacation. I don't think it would be good to make such deep changes (even if it would be in devel). -- Robert Felber (PGP: 896CF30B) Munich, Germany ____________________________________________________________ Policyd-weight Mailinglist - http://www.policyd-weight.org/