MaxClients no apache 2 é o número máximo de solicitações simultâneas que serão atendidas em todos os processos do apache. Com o prefp mpm, esse também é o número máximo de processos apache que serão executados de forma concisa e o número máximo de conexões de rede de entrada abertas para seu servidor web.
O ponto principal do KeepAlive é reduzir a sobrecarga de iniciar novas conexões TCP para cada solicitação HTTP ao acessar um site, já que cada nova página pode potencialmente exigir dezenas de documentos (html inicial, css, javascript, imagens, etc). O resultado final são páginas que carregam mais rápido.
MaxKeepAliveTimeout indica por quanto tempo o servidor da Web aguardará uma solicitação adicional de hHT de um cliente inativo antes de fechar a conexão, permitindo que ele atenda a novas conexões de desconexão.
No seu caso, se você tiver 150 clientes enviando o beacon de uma vez com o KeepAlive ativado, então sim, levará mais 5 segundos antes que outros usuários possam entrar. Supondo um requisito de envio de um beacon a cada 15 segundos é 450 max. Comercial.
Soluções:
-
você pode reduzir o MaxKeepAliveTimeout para 2 segundos, e há retornos decrescentes quando é aumentado. O benefício máximo é para carregamentos de página iniciais e praticamente não há atraso entre essas solicitações.
-
você pode desativar totalmente o KeepAlive, aumentando o tempo de carregamento de todas as suas páginas, supondo que a maioria dos usuários passe a maior parte do tempo no jogo.
-
keepalive tem que ser ativado no lado do cliente, assim como no lado do servidor a ser usado. Assumindo que você controla o javascript do lado do cliente, é possível desativar o keepalive no lado do cliente para uma solicitação específica, usando:
connection.setRequestProperty("Connection", "close");
-
Da mesma forma, você pode desativar o Keepalive para solicitações HTTP específicas no lado do servidor, manipulando o cabeçalho de resposta da conexão.
Espero que isso ajude!