Re: many processes open

2000-07-31 Thread Chris, the Young One

On Mon, Jul 31, 2000 at 12:03:12PM +0200, Marco Benetton wrote:
! @4000398064413962161c delivery 303: deferral: 
bin/qmail-queue:_error_in_loading_shared_libraries:_libc.so.6:_cannot_open_shared_object_file:_Error_23/Unable_to_forward_message:_qq_temporary_problem_(#4.3.0)./

Error 23, in Linux (not such a big assumption seeing that your libc is
called libc.so.6 :-)), is ENFILE (File table overflow). Essentially,
your system cannot open any more files. It's just a temporary situation,
just wait it out and hope you don't get more SMTP connections. :-)

! I have set the file concurencyremote=20 and concurencylocal=10
! but how is possible that I have 328 qmail-smtpd process in a time.

concurrencyremote and concurrencylocal do not affect how many
qmail-smtpd processes can be run. Having 328 connections seems to
me to be doable only if you invoke qmail-smtpd via inetd (see
http://cr.yp.to/docs/inetd.html).

Try using tcpserver from the ucspi-tcp package instead. It has a
concurrency limit of 40, by default. See http://cr.yp.to/ucspi-tcp.html.

Good luck,
---Chris K.
-- 
 Chris, the Young One |_ but what's a dropped message between friends? 
  Auckland, New Zealand |_ this is UDP, not TCP after all ;) ---John H. 
http://cloud9.hedgee.com/ |_ Robinson, IV  
 PGP: 0xCCC6114E/0x706A6AAD |_ 



RE: many processes open

2000-07-31 Thread andrew

Chris, 

>your system cannot open any more files. It's just a temporary situation,
>just wait it out and hope you don't get more SMTP connections. :-)
Perhaps checkout ulimit -n, which refers to the max. no. of file descriptors
- With Solaris using ulimit -n xxx before calling qmail-start is appropriate,
but with Linux it looks like there is no upper limit (bash offers you a ulimit
command to check this). Maybe there's a hard-coded f.d. limit in the kernel??

>concurrencyremote and concurrencylocal do not affect how many
>qmail-smtpd processes can be run. Having 328 connections seems to
>me to be doable only if you invoke qmail-smtpd via inetd (see
>http://cr.yp.to/docs/inetd.html).
I disagree: I've setup machines handling plenty of connections
using tcpserver - which is, I feel, a far more appropriate way of
calling qmail-smtpd. Have you come across particular problems
with tcpserver that lead you to the 'Need inetd' conclusion? If it's
an issue of timeouts, or [very] slow connections, that should be
the familiar old cookie of the -R and -H options to tcpserver - as
someone who moved from inetd to tcpserver myself, this is a
problem I remember well

cheers,

Andrew.

--
From:   Chris, the Young One[SMTP:[EMAIL PROTECTED]]
Sent:   31 July 2000 14:49
To: [EMAIL PROTECTED]
Subject:Re: many processes open

On Mon, Jul 31, 2000 at 12:03:12PM +0200, Marco Benetton wrote:
! @4000398064413962161c delivery 303: deferral:
bin/qmail-queue:_error_in_loading_shared_libraries:_libc.so.6:_cannot_open_shared_object_file:_Error_23/Unable_to_forward_message:_qq_temporary_problem_(#4.3.0)./

Error 23, in Linux (not such a big assumption seeing that your libc is
called libc.so.6 :-)), is ENFILE (File table overflow). Essentially,
your system cannot open any more files. It's just a temporary situation,
just wait it out and hope you don't get more SMTP connections. :-)

! I have set the file concurencyremote=20 and concurencylocal=10
! but how is possible that I have 328 qmail-smtpd process in a time.

concurrencyremote and concurrencylocal do not affect how many
qmail-smtpd processes can be run. Having 328 connections seems to
me to be doable only if you invoke qmail-smtpd via inetd (see
http://cr.yp.to/docs/inetd.html).

Try using tcpserver from the ucspi-tcp package instead. It has a
concurrency limit of 40, by default. See http://cr.yp.to/ucspi-tcp.html.

Good luck,
---Chris
K.




Re: many processes open

2000-07-31 Thread Chris, the Young One

On Mon, Jul 31, 2000 at 08:03:41PM +, [EMAIL PROTECTED] wrote:
! >your system cannot open any more files. It's just a temporary situation,
! >just wait it out and hope you don't get more SMTP connections. :-)
! Perhaps checkout ulimit -n, which refers to the max. no. of file descriptors
! - With Solaris using ulimit -n xxx before calling qmail-start is appropriate,
! but with Linux it looks like there is no upper limit (bash offers you a ulimit
! command to check this). Maybe there's a hard-coded f.d. limit in the kernel??

Linux 2.2's global fd limit (as opposed to the per-process fd limit
which you set with ``ulimit -n'') isn't hard-coded; you can set it via 
/proc/sys/fs/file-max.

! I disagree: I've setup machines handling plenty of connections
! using tcpserver - which is, I feel, a far more appropriate way of
! calling qmail-smtpd.

You can set tcpserver's concurrency to 400, should you so wish. But
by default it will handle only 40, which was why I found 328 a bit
strange. (Maybe it's because my mail server doesn't get that many
SMTP connections, not enough to merit altering the concurrency limit.)

!  Have you come across particular problems
! with tcpserver that lead you to the 'Need inetd' conclusion?

I didn't say you ``need'' inetd. My conclusion was that with inetd,
there is effectively _no_ concurrency limit, which in my opinion is
a Bad Thing.

---Chris K.
-- 
 Chris, the Young One |_ Never brag about how your machines haven't been 
  Auckland, New Zealand |_ hacked, or your code hasn't been broken. It's 
http://cloud9.hedgee.com/ |_ guaranteed to bring the wrong kind of 
 PGP: 0xCCC6114E/0x706A6AAD |_ attention. ---Neil Schneider 



Re: many processes open

2000-08-01 Thread Toens Bueker

"Chris, the Young One" <[EMAIL PROTECTED]> wrote:

> !  Have you come across particular problems
> ! with tcpserver that lead you to the 'Need inetd' conclusion?
> 
> I didn't say you ``need'' inetd. My conclusion was that with inetd,
> there is effectively _no_ concurrency limit, which in my opinion is
> a Bad Thing.

>From inetd(8):

The optional `max'' suffix (separated from `wait'' or `nowait'' by a dot)
specifies the maximum number of server instances that may be spawned from
inetd within an interval of 60 seconds. When omitted, `max'' defaults to 40.

By
Töns
-- 
Linux. The dot in /.



Re: many processes open

2000-08-01 Thread Dave Sill

Toens Bueker <[EMAIL PROTECTED]> wrote:

>From inetd(8):
>
>The optional `max'' suffix (separated from `wait'' or `nowait'' by a dot)
>specifies the maximum number of server instances that may be spawned from
>inetd within an interval of 60 seconds. When omitted, `max'' defaults to 40.

That's a rate limit, not a concurrency limit.

-Dave