Você precisará de mais informações para depurar isso, como o número de clientes conectados no momento e as páginas que estão sendo usadas no momento do congelamento.
Geralmente, o MaxClients só é atingido quando um bug no aplicativo está tendo problemas - os clientes solicitarão uma página e o aplicativo levará muito tempo para responder ao cliente. Na minha experiência, esse problema aparece quando um bug é introduzido por uma alteração de código recente, ou quando o código do aplicativo depende de um banco de dados ou sistema de arquivos, e esse banco de dados ou sistema de arquivos é lento ou indisponível etc. Raramente é um problema no Apache em si. Existem muitas causas possíveis para o aplicativo.
Se o afunilamento for um sistema de arquivos ou banco de dados, você pode ter agravado o problema aumentando o MaxClients de 256 para 512, porque agora você tem duas vezes mais clientes se conectando ao recurso problemático.
Para fornecer mais visibilidade do problema da perspectiva do Apache:
- Procure no log de acesso do Apache para determinar quais páginas são mais populares.
- Ativar mod_status que imprime as informações de desempenho do servidor e imprime informações sobre todas as sessões atuais . Ative
ExtendedStatus
, conforme recomendado pela seção Usando o status do servidor para solucionar problemas . Por motivos de segurança, restrinja o acesso a um conjunto seguro de endereços IP. - Monitore a página de status no link . Você pode fazer isso através de um navegador, ou a partir da linha de comando usando um comando como
service httpd fullstatus
(veja link para um exemplo). Você também pode capturar essas informações em um arquivo de log, com um comando comoservice httpd fullstatus > /var/log/httpd.status.log
ouservice httpd fullstatus | logger -t httpd-status
, e colocar isso no cron ou log usando Cactos, Splunk ou outro programa.
Isso deve fornecer muito mais informações sobre o estado do sistema até o momento do congelamento.