On Thu, 12 May 2005, Brian Grossman wrote:

> On Wed, 11 May 2005 14:00:15 -0400
> Matt Sergeant <[EMAIL PROTECTED]> wrote:
> 
> 
> > >         Deep recursion on subroutine "Qpsmtpd::run_hooks" at \
> > >         .../lib/Qpsmtpd.pm line 54.
> 
> > > It only happens with >150 or so simultaneous connections.  It gets 
> > > worse,
> > > but I think less than linearly, up to 1100 connections.  I haven't 
> > > tried
> > > beyond 1100.
> > 
> > How are you creating that many connections? If I had a tool to test 
> > with I could try it out...
> 
> I figured your spamtrap would be the perfect way to load test.

I don't actually get that many connections concurrently. I sit at around 
700. Unfortunately this is also too much logging to be able to watch for 
load :-)

> It's embarrassing, but what the heck.  I'd been having scaling issues with
> forkserver (memory and cpu), so I shook pollserver out to where I was ready
> to deploy it and made plans to do so.  Then our semi-regular ddos attack
> started up again so I started deploying pollserver early, intending a mix
> of pollservers and forkservers to ride out the ddos.  Then the ddos got
> worse, and worse, so I switched to pollservers entirely.  BTW, my biggest
> cpu load is when pollserver accepts connections.

Ah, this was my fault. Get latest SVN. What was happening was I only 
accepted one connection per notification of there being incoming 
connections. So the kernel gets really bogged down with holding queue's of 
SYN packets. The current code copes better.

Matt.

Reply via email to