Apache Overload Behavior Under Linux [Kernel-Centric Question]

From: Stanislav Rost (prgrssor@cs.bu.edu)
Date: Fri Oct 06 2000 - 09:08:54 EST


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

-
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