São muitas as ocorrências do Apache normais?

5

Executamos a versão do Apache 2.2.8-1ubuntu0.15 em nossa instância VPS de Ubuntu 8.04.4 LTS \n \l , conforme determinado por esta pergunta .

Quando emito pgrep apache2 , obtenho o seguinte:

 2691
24517
25330
25669
25672
25795
25796
25809
25825
26401
26402

São 11 instâncias separadas de apache2 ! Isso é normal? Se não, o que devo fazer sobre isso?

    
por Iain Samuel McLean Elder 04.09.2010 / 05:13

2 respostas

5

Sim. O Apache funciona como um daemon unix tradicional, por meio do qual:

  • O programa principal aguarda uma solicitação recebida (blocos em um soquete)
  • Após receber a solicitação, a chamada do sistema fork () é usada, o que faz com que o processo principal seja clonado em si
  • O processo principal aguarda novamente por outra solicitação
  • A cópia bifurcada processa a solicitação e termina

O bifurcação consome tempo, por isso o Apache preprega várias instâncias na expectativa de lidar com várias solicitações. Isso é totalmente configurável via /etc/apache2.conf. Não consigo pensar nas diretivas exatas agora, mas é provavelmente explicado nos comentários.

Se você espera lidar com rajadas repentinas de solicitações HTTP concorrentes, isso ajuda você a ter várias instâncias para aceitá-las. A desvantagem é que isso consome mais memória.

    
por 04.09.2010 / 05:30
2

Se você deseja diminuir esse número, use as diretivas MinSpareServers e MaxSpareServers:

link

    
por 04.09.2010 / 05:59