ServerLimit e problema de MaxClient

6

Estou tentando aumentar meus MaxClients no apache para um site com muito tráfego.

Mas continuei recebendo este erro:

WARNING: MaxClients of 565 exceeds ServerLimit value of 256 servers,
 lowering MaxClients to 256.  To increase, please see the ServerLimit
 directive.
Syntax OK

Então, após algumas pesquisas, incluímos:

    StartServers        5
    MinSpareServers     15
    MaxSpareServers     30
    ServerLimit         565
    MaxClients          565
    MaxRequestsPerChild 2000

Depois de uma reinicialização elegante, o aviso não ocorreu e tudo parecia OK.

No entanto, depois de verificar meu apache error.log, o aviso ainda existe.

** [notice] Graceful restart requested, doing restart
WARNING: MaxClients of 565 exceeds ServerLimit value of 256 servers,
 lowering MaxClients to 256.  To increase, please see the ServerLimit
 directive.
** [warn] WARNING: Attempt to change ServerLimit ignored during restart

O ServerLimit seria afetado? como o reinício gracioso trabalhou ... alguém pode lançar alguma luz?

Felicidades!

    
por williamsowen 20.01.2012 / 11:14

3 respostas

12

Eu acho que você precisará parar e iniciar o httpd (para que o processo "mestre" do httpd seja interrompido e iniciado, não apenas os processos filhos). A partir da entrada da documentação do Apache em ServerLimit :

"Qualquer tentativa de alterar esta diretiva durante uma reinicialização será ignorada, mas os MaxClients podem ser modificados durante a reinicialização."

    
por 20.01.2012 / 11:59
7

Você deve garantir duas coisas para que isso entre em vigor:

  • reinicie o apache em vez de apenas recarregar
  • garanta que ServerLimit venha antes MaxClients na configuração do Apache, caso contrário, o Apache lerá MaxClients primeiro e produzirá o mesmo erro

Existem outras advertências muito óbvias, como garantir que ele não está no lugar errado, dentro de um bloco <If> que não é lido, por exemplo.

    
por 16.06.2014 / 15:54
3

apachectl graceful não funcionará, mais importante é que apachectl restart também não funcione.

A solução é /etc/init.d/httpd restart ou service httpd restart

    
por 18.08.2015 / 09:41