On Tue, Nov 4, 2014 at 7:36 PM, Rajalakshmi Iyer <r...@blismedia.com> wrote:
> Ok. Thanks.
>
> Does this situation sound plausible - Keep alive connections are not being
> used effectively by client applications (i.e. subsequent requests on
> keep-alive connections are not frequent enough to keep Apache workers busy
> all the time, resulting in low CPU utilisation). At the same time, because
> there are already so many keep-alive connections, the server is not
> accepting any more new connections from the client application. Thus, the
> server is mostly idle but not accepting new connections.
>

When an event thread stops processing a request, and the connection is
a keep alive connection, then a special keep alive thread is used to
monitor the all the keep alive connections on that process.

The thread that handled the actual request is then immediately
available to work on another request. It is not waiting for the keep
alive connection to do something. This is the main purpose of event
MPM.

If the server is mostly idle but not connecting new connections,
increase the number of concurrent requests that you say you can
handle. On our proxy servers using event, we expect a base load of
about 400-600 simultaneous requests, and allow for a peak of 1024:

    StartServers 8
    MaxClients 1024
    MinSpareThreads 128
    MaxSpareThreads 768
    ThreadsPerChild 64
    MaxRequestsPerChild 0

You will need to scale these numbers according to your memory, your
cpu usage, and the resources used by your web apps - there is no point
allowing 1000 connections to your app if the DB can only handle 30
concurrent connections.

Cheers

Tom

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to