Apache Overload Behavior Under Linux [Kernel-Centric Question]

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

  • Next message: Jan Kara: "Quota fixes"

    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 : Fri Oct 06 2000 - 10:10:39 EDT