![Como resolver '[info] server parece ocupado' nos logs do servidor Apache?](https://rvso.com/image/658839/Como%20resolver%20'%5Binfo%5D%20server%20parece%20ocupado'%20nos%20logs%20do%20servidor%20Apache%3F.png)
Já vi essa pergunta algumas vezes, mas ela não teve nenhuma resposta real; então decidi postar minha resolução.
A mensagem abaixo info
pode ser vista no apache error.log:
[info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 16 children, there are 41 idle, and 129 total children
Responder1
A resolução parece bastante óbvia; aumente StartServers
até que desapareça. Embora seja verdade, é uma má prática aumentar arbitrariamente o valor, a menos que você entenda as implicações e se o valor aumentado realmente vai ajudar.
Eu estava lendo o código-fonte do httpd e diz o seguinte:
/*
* idle_spawn_rate is the number of children that will be spawned on the
* next maintenance cycle if there aren't enough idle servers. It is
* doubled up to MAX_SPAWN_RATE, and reset only when a cycle goes by
* without the need to spawn.
*/
Mais adiante na fonte, o erro real é registrado quando:
if (retained->idle_spawn_rate >= 8) {
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf, APLOGNO(00162)
"server seems busy, (you may need "
"to increase StartServers, or Min/MaxSpareServers), "
"spawning %d children, there are %d idle, and "
"%d total children", retained->idle_spawn_rate,
idle_count, total_non_dead);
}
Então, o que isso significa é; esse erro é lançadoquando o número de filhos a serem gerados no próximo ciclo for maior que 8 porque não há servidores suficientes para lidar com solicitações.
Então, como você pode consertar isso?
Cada vez que esse erro for gerado, você verá algo como spawning 16 children
; isso significa que 16 filhos tiveram que ser gerados porque faltavam servidores para lidar com as solicitações. Basicamente, aumente StartServers
a quantidade de filhos gerados até que o erro desapareça. Você também pode aumentar Min/MaxSpareServers
esse valor.