On Sun, 24 May 2009, J wrote:

> > ...while the (non-disappearing) connections appear like:
> >
> > ./qpsmtpd-prefork [192.168.1.50 : testlaptop : 23:12:05 2009-05-23]
>
> It certainly appears that the processes (like above) get reused, but only
> for the IP address that previously connected to it. I put the box on the
> Internet for a while and I got several (obviously spammer) connections,
> and they each left their own process behind after disconnecting.
>
> If I get time today, I'll drop the total connections and see what happens
> when there are more connections than allowed - do the IP related processes
> die off so a new one can start with the new IP?
>
> (I find it a bit disconcerting having all these processes hanging around.)

Okay, I think I understand what's happening, now...

One IP can actually change a listening prefork process to a connection
type process (as it appears in the process table), without reusing a
previous one, if it still exists. Once a listening process is converted to
a connection type process (even if it is inactive), it will hang around a
while (100 connections?). If a different IP connects and uses a connection
type process, it's information will then appear in the process table with
that process - but it's still the same process.

There's no more "Connection 1/50" in the log file. Okay. I can't count
qpsmtpd processes, anymore, to determine how many current connections -
netstat will do that. Okay.

So, as soon as I either rollback DBI, or wait for a fix for
SQL::Statement, I should be able to finish testing and roll prefork out.

As I understand it, people that are using prefork can accept more
concurrent connections than if they were using forkserver.

J.

Reply via email to