Muitos processos: httpd -k restart -DSSL

1

Estou tentando entender mais como o Apache funciona. Eu usei top -c para analisar os processos do Apache. Em dois dos meus servidores eu tenho constantemente:

httpd -k restart -DSSL 
httpd -k restart -DSSL 
httpd -k restart -DSSL 
httpd -k restart -DSSL 
httpd -k restart -DSSL 

Pelo que entendi, isso reinicia o Apache. Por que existem tantos processos reiniciando o Apache? O que eu esperava era:

httpd -DSSL 

Alguém pode explicar isso para um administrador novato? Os sites estão funcionando bem, devo me preocupar com isso?

Obrigado Oliver

    
por mashup 14.09.2011 / 04:47

1 resposta

1

Se você usar o excelente utilitário htop e organizar em visualização em árvore, poderá ver que são processos filhos do Apache. Na verdade, olhando para uma caixa que eu admin agora, todos os meus processos do Apache (pai e filhos) têm esse caminho.

No manual do Apache :

The second method of signaling the httpd processes is to use the -k command line options: stop, restart, graceful and graceful-stop, as described below. These are arguments to the httpd binary, but we recommend that you send them using the apachectl control script, which will pass them through to httpd.

-DSSL apenas informa ao Apache para iniciar o suporte SSL.

Se você tem muitos processos filhos gerados constantemente, isso é para acomodar o que você definiu em seu httpd.conf - ou um dos sub -httpdconfs dependendo de sua configuração. Por exemplo, no meu VPS eu uso o suplemento MPM prefork para que minha configuração principal seja manipulada em httpd-mpm.conf . Ali, a configuração do meu servidor é assim:

<IfModule mpm_prefork_module>
     StartServers 1
     MinSpareServers 1
     MaxSpareServers 5
     ServerLimit 4
     MaxClients 7
     MaxRequestsPerChild 10
</IfModule>

Esta é uma máquina virtualizada sendo apresentada com uma CPU dupla, 1 GB de RAM, 1 GB de swap, muito espaço em disco. Linux relata como um Intel Xeon X3360 @ 2.83 GHz.

Estes são valores comparativamente baixos, mas o servidor já está ocupado lidando com correio, filtragem de spam, DNS e MySQL (que é um imenso recurso e não gosta de ser hospedado em VMs, mesmo quando ajustado). Eu prefiro fornecer tempos de pageload mais longos do que acabar inadvertidamente fazendo DDoSing porque estou sendo ganancioso com meus limites de conexão.

Há tanta leitura que você precisa fazer para entender completamente o impacto de processos filhos, requisitos de memória, o que é realmente bom ou ruim com relação a troca de uso / uso físico de RAM / I / O de disco / limites altos ou baixos do Apache. E, para piorar as coisas, muitas pessoas dirão muitas coisas contrastantes, a única maneira de realmente saber o que funciona para você é induzir uma carga moderada constante no servidor e observar como ela se comporta. Protip: se o seu terminal SSH está ficando lento sob carga, não é bom o suficiente.

Alguns links de teste de teste / comparação de desempenho são lidos:

tl; dr: se o servidor estiver atendendo páginas com rapidez suficiente e não causar impacto no desempenho normal, não toque em nada. :-) Se você tocar em algo, sempre faça backup de suas configurações do Apache primeiro. Ajustar o MySQL provavelmente lhe causará mais dores de cabeça no futuro; -)

    
por 25.02.2013 / 11:55

Tags