Efeitos colaterais de um evento de recarga do Apache2

7

Eu queria saber qual efeito os clientes externos veriam em um site bastante movimentado se o servidor apache2 fosse reconfigurado e, em seguida, um comando de recarregamento /etc/init.d/apache2 fosse emitido?

Eu sei que, em teoria, as ações atuais devem ser mantidas sem problemas, mas qual seria o efeito total no site?

Para o exemplo, vamos supor que eu queira realizar uma recarga uma vez por minuto. isso degradaria muito o desempenho do site?

Obrigado

    
por BParker 12.12.2009 / 15:29

2 respostas

3

G'day

Suspeito que recarregar uma por minuto afetaria o desempenho do seu site, mas dependeria muito:

  • sua configuração: qual MPM você está usando? prefork ou trabalhador? Qual é o número de filhos que você especificou? E, no caso do trabalhador, quais são seus encadeamentos máximos por filho. Isso afetará o tempo que os processos precisam ficar por conta da natureza graciosa do desligamento.
  • o que as pessoas estão fazendo no seu site: elas estão baixando arquivos grandes? isso naturalmente leva a sessões mais longas e, portanto, mais tempo para os processos saírem e serem reiniciados
  • o que você está registrando: isso é um pouco relacionado ao ponto anterior, mas se você estiver registrando bytes atendidos, a entrada de registro só será feita após a conclusão da sessão de download.
  • você está usando o Apache 2.2.12 ou posterior: então você tem a possibilidade de especificar um tempo máximo para que "gracioso" funcione antes que o processo seja eliminado e reiniciado.

Tudo isso afetará seu tempo de resposta ao recarregamento. Acho que ter um recarregamento por minuto é um pouco excessivo e só prejudicará o desempenho do seu site.

Eu sugeriria fazer uma parte do servidor HUP do processo quando uma nova configuração fosse lançada como fazemos.

Temos visto níveis máximos de tráfego de 3,8 milhões de acessos por segundo e 7 milhões de acessos por segundo durante mais de uma hora durante grandes eventos de notícias, e essa abordagem às atualizações de configuração não afeta nossos servidores.

HTH

aplausos

    
por 12.12.2009 / 16:16
9

Usar /etc/init.d/apache2 reload é o equivalente a uma reinicialização normal. Como você disse, as conexões atuais são levadas até o fim antes que a criança morra. À medida que as crianças morrem, elas são substituídas por novas crianças com a nova configuração (consulte o documento do apache para reiniciar) .

Na prática, ele pode diminuir um pouco, pois são necessários alguns recursos para reiniciar o filho, recarregar a configuração e fechar & arquivos de log abertos, mas isso dificilmente é percebido pelos clientes.

Quanto ao seu exemplo, provavelmente depende de quanto recursos livres você tem em seu servidor e do tamanho dos arquivos de log e da configuração, mas isso não mataria o desempenho do site na minha opinião.

    
por 12.12.2009 / 15:59

Tags