Com que frequência o Apache e o MySQL devem ser reiniciados?

8

Com que frequência o Apache e o MySQL devem ser reiniciados (em particular, tendo 150 mil acessos / semana), e qual seria o benefício real em reiniciar cada vez?

    
por Peter Mortensen 21.12.2009 / 06:41

5 respostas

18

Se o seu sistema estiver devidamente ajustado e seu aplicativo não tiver problemas, como vazamentos de memória, você só precisará reiniciá-los para aplicar patches.

    
por 21.12.2009 / 06:49
9

Apache e MySQL por si só devem estar livres de vazamentos de memória. A maioria dos servidores de bancos de dados funciona melhor quanto mais tempo eles estão funcionando. No entanto, os módulos que são compilados no Apache como o PHP, muitas vezes têm vazamentos de memória.

O módulo Apache mpm recicla automaticamente os processos após 10.000 solicitações. Você pode alterar o MaxRequestsPerChild para algo diferente, mas 10.000 é um padrão razoável.

    
por 21.12.2009 / 06:54
5

O Apache não precisa ser reiniciado regularmente; nem deveria MySQL.

O Apache em execução no modo prefork pode reciclar seus processos filhos usando MaxRequestsPerChild; isso é uma coisa boa, pois defende contra vazamentos lentos de memória, etc.

O MySQL não deve ser reiniciado regularmente, pois o reinício irá causar uma interrupção do serviço. Reiniciar O MySQL precisa esperar que os mecanismos sejam inicializados e também limpará o cache, fazendo com que o desempenho seja ruim até que ele se aqueça. Parece que precisamos reiniciar de vez em quando [1] por causa da fragmentação do espaço de endereço, mas isso não deve acontecer tanto em um sistema de 64 bits, que novas instalações devem sempre continuar .

[1] a cada 9 meses em um servidor ocupado com > Média de 100 consultas por segundo

    
por 28.12.2009 / 22:03
3

Você deve evitar reiniciar o MySQL sempre que possível por razões de desempenho. O MySQL usa muita memória para armazenar páginas e índices de dados. Quando você reinicia o MySQL, todas as páginas em cache são liberadas e você precisa de algum tempo para aquecer os caches. Em sites altamente carregados, a reinicialização do banco de dados pode causar problemas de desempenho.

Seu site não está muito carregado (150k acessos / semana dá apenas 1req / 4s), então o MySQL reiniciar não deve causar grandes problemas.

    
por 28.12.2009 / 21:14
2

Para entender quando um sistema ou serviço precisa ser reinicializado, primeiro você precisa entender o motivo. Vazamentos de memória são o motivo mais comum, mas pode haver outros, como softwares mal escritos (muito comuns!) Que não executam o serviço interno adequado, como o fechamento de identificadores de arquivo quando não são mais necessários. Apesar de não ser o mesmo que um vazamento de memória, os sintomas são os mesmos. Tanto o Apache quanto o MySQL são conhecidos por serem muito estáveis (a menos que você esteja executando uma versão alfa ou beta) e podem ser executados por anos sem problemas. Normalmente, o sistema operacional precisará ser reinicializado para aplicar os patches muito antes de qualquer aplicativo exigir isso.

    
por 21.12.2009 / 21:36