I also tested this at 50 connects per sec, and after exactly 10 mins
over 29,500 connects have occurred, so exhausting resources just
seems remote. Whether the connects occur at very high freqs or
very slow, the problem occurs unless there is a 1 minute delay
within each 10 min period.
Also, this occurs with no threads created. I can put the TCP Server
in the main(), and all it does is accept(), and then close() as follows:
For test purposes, this is a very simple, barebones, generic Client/Server
setup.
Client: while (1)
{
socket()
connect()
close()
5 sec delay (or could be 30 sec, or could be 50 per sec)
}
Server: socket()
bind()
listen()
while (1)
{
accept()
close()
}
----- Original Message -----
From: "Mikkel L. Ellertson" <[EMAIL PROTECTED]>
To: "Redhat-list (E-mail)" <[EMAIL PROTECTED]>
Sent: Friday, January 05, 2001 8:32 PM
Subject: Re: TCP Server stops accepting after 10mins
> On Fri, 5 Jan 2001, Steven Vacca wrote:
>
> > Here's my problem,
> >
> > The Unit Under Test (UUT) has Redhat's embedded Linux kernel (based on
Linux/PPC
> > kernel 2.2.13), from the Redhat EDK 1.0, running on an embedded PowerPC
> > processor with 8M of RAM, and is connected to a LAN.
> >
> > For my test, I have a TCP Client (Microsoft) on a PC, also connected to
the LAN, connect
> > to a TCP Server (linux) on the UUT at the following intervals (1/5s =
"once every 5 secs"):
> > 1/5s, 1/20s, 1/30s, and 1/60s.
> >
> > For 1/5s, 1/20s, and 1/30s, approx. 10 minutes is the constant time when
the TCP
> > Client fails to connect to the Server.
> >
> > But, whenever the connect frequency = 1/60s, or longer, then the problem
goes away and
> > the TCP Client can connect forever at this rate.
> >
> > Test Results:
> >
> > 1/5s: stopped connecting on next try @ 10:05
> >
> > 1/20s: stopped connecting on nex try @ 9:40
> >
> > 1/30s: stopped connecting on next try @ 10:30
> >
> > 1/60s: connects forever (several hours in test)
> >
> > The fact that regardless of whether the connects occur at a very high
frequency (100/s) or
> > low frequency (1/30s), the TCP Client fails to connect after 10 mins. I
think 10 min is the key).
> > So it appears that something happens once a minute, and if that goes on
for 10 times, then
> > connects are denied. As long as at least 1 min is allowed to go by
without accepting a connect
> > from a client, then there is no problem.
> >
> > This is very repeatable. Note that if I pause the Client from
connecting just before the 10 minute
> > time period connect() failure is to occur, and wait at least 1 minute
(can't be less), and then allow
> > the Client to continue connecting, then the Client is able to connect
for another 10 minutes before
> > the connect() failure occurs.
> >
> > So, it appears that something must be scheduled to run once per minute,
and it somehow does
> > something to the TCP Server. There aren't any background activities
running tha I know of in this
> > small-sized embedded environment.
> >
> > Thanks a million for anybody's help or suggestions,
> >
> > ShutEye Thinkin
> > Roanoke, Virginia USA
> >
> >
> Is the program you are connecting to launched by inetd? If so you may be
> running into its limits on how often you can spawn a process. This limit
> is settable, but you are exceding the default limit with your tests. You
> will want to check the logs on the Linux machine in any case to see what
> is going on. If inetd is shutting down the service, it will say so. If
> it is some other DOS detection, it should also show up in the logs.
>
> Mikkel
> --
>
> Do not meddle in the affairs of dragons,
> for you are crunchy and taste good with ketchup.
>
>
>
> _______________________________________________
> Redhat-list mailing list
> [EMAIL PROTECTED]
> https://listman.redhat.com/mailman/listinfo/redhat-list
>
_______________________________________________
Redhat-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/redhat-list