Re: Apache Overload Behavior Under Linux [Kernel-Centric Question]

From: Richard B. Johnson (root@chaos.analogic.com)
Date: Fri Oct 06 2000 - 10:30:03 EST


On Fri, 6 Oct 2000, Stanislav Rost wrote:

> Fellow Linux afficionados,
>
> I am working on a research project involving the Linux kernel and Apache.
> Recently, I became puzzled by the overload behavior of Apache under
> cetrain conditions. The processing in web servers is inherently
> kernel-heavy, so there is no doubt in my mind that the Linux kernel is in
> most part reponsible for this behavior.
>
> However, I need to understand the underlying causes for this behavior. I
> have a few hypotheses myself, but I seek your opinion on the matter and
> hope to verify these hypotheses. Please help me to understand what
> happens in the kernel to cause such behavior.
>
> Setup: Pentium2 400, 128 MBs RAM, 100 MBps Ethernet,
> Linux 2.2.5, Apache 1.3.12
> 800 clients accessing the same 2 MB file
> simultaneously and continuously (in a closed-loop model)
> [ so the file is likely cached in its entirety in the filesystem
> cache ]
> Maximums and minimums for number of concurrent server processes
> servicing requests is also 800 (so that no forking is required
> and transient state is achieved faster).
>
> Behavior: At the beginning of the test, Apache quickly consumes most of
> the RAM and thrashing is evident (as expected). CPU utilization
> grows to 100% procent and stays there (also as expected).
>
> But then, the thrashing stops and the network traffic (as seen
> from the LEDs on the router) either stops or becomes negligible.
> All the while, the CPU utilization stays at 100%. After about a
> minute of this behavior, the CPU utilization drops to 0%.
>
> After that, no clients are able to connect to the web server, and
> the web server does not repond to pings.
>
> Thank you for your help.
>
> Stan Rost
>

Some of the most important information is not provided. Look at
/proc/interrupts and see if your ethernet board is still working. It looks
as though you have a problem with the ethernet driver hanging. The
fact that CPU usage drops to zero, seems to imply that you will see
all apache activity sleeping on the sockets, waiting for input.

I'd advise that you install linux-2.2.17 also. Linux-2.2.5 does not
have many driver fixes back-ported.

Cheers,
Dick Johnson

Penguin : Linux version 2.2.17 on an i686 machine (801.18 BogoMips).

"Memory is like gasoline. You use it up when you are running. Of
course you get it all back when you reboot..."; Actual explanation
obtained from the Micro$oft help desk.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Oct 07 2000 - 21:00:19 EST