O trabalhador do Apache está travando após 3.000 usuários

1

Ativei o Apache Worker no meu VPS e estou com problemas, porque o site está falhando quando 3000 usuários acessam o site. Estou usando o link como contador.

Configuração do meu Apache Worker:

KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 1

<IfModule mpm_worker_module>
ServerLimit 20000
StartServer 8000
MinSpareThreads 10400
MaxSpareThreads 14200
ThreadLimit 5
ThreadsPerChild 5
MaxClients 20000
MaxRequestsPerChild 0
</IfModule>

O VPS tem SO: Debian 64 LAMP, memória: 14gb e CPU: 24ghz

O que eu poderia fazer para dar um melhor desempenho?

    
por user1618606 24.11.2012 / 19:00

2 respostas

0

Experimente esta configuração para iniciantes (bastante para um servidor VPS):

MaxClients 2000
ThreadsPerChild 50
ServerLimit 40

Isso fornece 2000 threads e 40 processos (50 threads por processo) para manipular no máximo 2000 clientes simultaneamente. Se você quiser aumentar o ThreadsPerChild para um valor maior que 64, não se esqueça de alterar o ThreadLimit também.

    
por 25.11.2012 / 00:32
0

Parece que você está esgotando a memória e o apache está falhando porque está usando mais do que a memória disponível.

Eu não estou muito familiarizado com o trabalhador mpm, mas acho que sua configuração excede em muito a sua memória disponível.

Por exemplo, você tem 5 threads por processo e 20000 MaxClient. Isso significa que, para atender aos seus clientes do Max, você precisa de 20000/5=4000 processos de apache simultâneos. Com uma memória de 13 GB (1 GB para o sistema) e uma média de 15 MB para o tamanho do processo do Apache, você pode atender apenas a 4300 clientes.

Estou assumindo que você também está executando um banco de dados. Isso torna lógico que o apache morra em torno de 3.000 clientes.

Você deve reduzir o número de MaxClients e MinSpareThreads como @David Schwartz sugeriu.

    
por 24.11.2012 / 22:12