MinSpareThreads de MaxClients, considere elevar a configuração MaxClients

6

Eu tive um problema com meu projeto ontem. Não podia nem ser aberto no navegador. O problema foi resolvido depois de reiniciar o apache. Depois disso, verifiquei os logs do apache e encontrei as seguintes linhas.

[error] server is within MinSpareThreads of MaxClients, consider raising the MaxClients setting

Alguém pode explicar qual é o significado dessa mensagem? Poderia causar tal problema.

Eu realmente preciso aumentar o MaxClients ou seria melhor entender o que causa servidor para alcançar MaxClients ..

    
por mibzer 29.03.2013 / 16:20

1 resposta

4

O Apache tem um limite de quantas conexões simultâneas ele pode manipular. Esse limite é definido com MaxClients. Quando o servidor atinge esse número de conexões simultâneas, qualquer conexão subseqüente não pode ser manipulada até que uma das conexões existentes seja fechada.

Você também tem uma configuração chamada MinSpareThreads, que informa ao servidor quantos threads devem ser iniciados, aguardando uma nova conexão. Então, digamos que seu servidor esteja configurado assim:

 MaxClients 100
 MinSpareThreads 5

Em seguida, o servidor tentará sempre ter 5 threads prontos e aguardando uma conexão. Mas uma vez que você tem 95 usuários conectando ao mesmo tempo, você só tem espaço para mais 5, então assim que o próximo cliente se conectar, o servidor não poderá mais criar mais threads - então a mensagem de log está dizendo que é aproximando-se da configuração MaxClients.

É sempre uma boa ideia entender por que o servidor está atingindo os MaxClients. Seu valor deve ser alto o suficiente para servir uma carga normal + um aumento razoável no tráfego, mas baixo o suficiente para que, mesmo que alguém tente fazer DOS no seu servidor web, o apache não use toda a sua memória e CPU servindo muitos clientes. Para descobrir o valor ideal, você precisa fazer alguns testes de carga.

    
por 29.03.2013 / 17:28

Tags