httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <Andre.Wen...@bmw.de>
Subject [users@httpd] LongPolling/WebSockets connection handling & max. connections
Date Mon, 04 May 2015 15:36:00 GMT
Hello everybody,

currently I'm having an open question/topic about web sockets and long polling, which I'm
not completely sure about the current handling within the Apache web server.

The main question is about the mechanism "how websockets connections will be handled from
the Apache?".

Currently I have the following worker configuration within my Apache webserver (worker mpm):

       StartServers            80
       ServerLimit            160
       MinSpareThreads         25
       MaxSpareThreads        250
       ThreadsPerChild         50
       MaxRequestWorkers     8000
       MaxConnectionsPerChild   0

This allows me to accept 8000 simultaneous connections and server more then 8000 clients,
because from my understand Apache takes the connection on hold after he has proxied the request
and until he get's the response. So normally I'm able to serve more than 8000 clients, because
not all send requests or get a response simultaneously.

But then if I run a client server architecture, which  uses web sockets for communication,
the socket or connection is normally hold open all the time and from my understanding the
Apache webserver is not able to take the connection in a, let's call it, "hold state". So
if I use web sockets is Apache still able to server more then 8000 clients/connections with
the configuration above, or is he no longer able to set connections on hold when proxying
websockets?

Also does Apache open one socket within the OS for each connection, because then this would
limit the usage of 65k clients on one server anyway, or are there more connections possible?

Are there any experiences about the maximum number of web socket connections and best practices
for the Apache by using web sockets? Is it better to run apache with the event mpm then the
worker mpm within that scenario?

Thanks in advance & Best regards,
André


Mime
View raw message