Re: Increasing listen() queue length on heavy loaded linux.

From: Eric Stern <estern@dont-contact.us>
Date: Fri, 17 Apr 1998 04:06:13 -0400 (EDT)

On Fri, 17 Apr 1998, Jaeho Yang wrote:

> Good day everyone..
>
> When I have used squid on linux, I encounterd *blocking phenomenen*
> sometimes.
> That server is processing *so many requests* (60~100 requests /sec).
> The server 's throughput stops for 4~5 seconds when blocking phenomenen
> occurrs.
>
> I found similar problem reports on apache web site.
>
> http://www.apache.org/docs/misc/perf.html#Linux
>
> But the link embedded in HTML is out of date..
> I found that the problem is queue length limitation of listen() or
> accept(), but I could not
> found how to fix it in linux..
>
> Could you give information about such a problem..

Newer linux kernels (2.0.29+) don't really have this problem. They allow
nice large backlogs now. They also allow 2 times the backlog specified by
the program when it calls listen. Squid sets this to MaxFD / 4. So, its
probably setting it to 64 (unless you have patched linux for greater
filedescriptors). I'd get 2.0.34 (or 2.0.35 if its out yet).

For best backlog management (and protection), compile the kernel
with SYN and RST cookie support.

Also...maybe the load is just too much for the hardware you've got.
Consider a CPU upgrade. Incidentally, what hardware are you running it on?

/-----------------------------------------------------------------------/
/ Eric Stern - PacketStorm Technologies - (519) 837-0824 /
/ http://www.packetstorm.on.ca /
/ WebSpeed - a transparent web caching server - available now! /
/-----------------------------------------------------------------------/
Received on Fri Apr 17 1998 - 01:25:14 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:39:43 MST