Por que o Apache diz que há 49 trabalhadores ociosos quando deveria haver apenas 10?

3

Eu também habilitei o módulo mod_status do apache com o ExtendedStatus ativado. Desde que eu configurei o status do servidor para ser executado apenas localmente:

// httpd.conf
<Location /server-status>
  SetHandler server-status
  Order deny,allow
  Deny from all
  Allow from 127.0.0.1 ::1
</Location>

Eu uso o lynx para se conectar a ele:

lynx http://localhost/server-status

Esta é a saída:

   Server Version: Apache/2.2.22 (Ubuntu)
   Server Built: Mar 19 2014 21:10:46
     ________________________________________________________________________________________________________________________

   Current Time: Sunday, 04-May-2014 23:13:58 EDT
   Restart Time: Sunday, 04-May-2014 23:13:35 EDT
   Parent Server Generation: 0
   Server uptime: 23 seconds
   Total accesses: 0 - Total Traffic: 0 kB
   CPU Usage: u0 s0 cu0 cs0
   0 requests/sec - 0 B/second -
   1 requests currently being processed, 49 idle workers

_________________________.......................................
_____W___________________.......................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................

   Scoreboard Key:
   "_" Waiting for Connection, "S" Starting up, "R" Reading Request,
   "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
   "C" Closing connection, "L" Logging, "G" Gracefully finishing,
   "I" Idle cleanup of worker, "." Open slot with no current process

   Srv PID   Acc  M CPU  SS    Req    Conn Child Slot  Client     VHost             Request
   1-0 8658 0/0/0 W 0.00 0  899699703 0.0  0.00  0.00 127.0.0.1 127.0.1.1 GET /server-status HTTP/1.0
     ________________________________________________________________________________________________________________________

    Srv  Child Server number - generation
    PID  OS process ID
    Acc  Number of accesses this connection / this child / this slot
     M   Mode of operation
    CPU  CPU usage, number of seconds
    SS   Seconds since beginning of most recent request
    Req  Milliseconds required to process most recent request

Huh? 49 trabalhadores ociosos diz? Mas se você olhar a configuração do mpm prefork no apache2.conf:

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

Ele diz iniciar com 5 processos filhos gerados e deixar 5 pendurados por aí. Assim, deve haver um total de 10 processos apache. De onde vem esse 49?

    
por JohnMerlino 05.05.2014 / 05:20

1 resposta

3

Minhas desculpas se você já sabe disso, mas só para deixar claro, os Min e MaxSpareServers são sugestões para o número de funcionários inativos. O Apache pode e vai ficar acima ou abaixo desses valores configurados. MaxClients é um limite morto, no caso de mpm_prefork, o limite para os trabalhadores bifurcados.

Por que você está com 49 funcionários ociosos, o Apache só deve responder à carga do cliente cliente. Se este for um servidor recentemente reiniciado, então deve haver algo que mastiga os funcionários na inicialização. Se não for reiniciado recentemente, o Apache ajustará sua meta de longo prazo para os funcionários ociosos, e provavelmente é cerca de 50 atualmente. Poderia haver outras razões, possuindo a sua configuração ...

    
por 05.05.2014 / 05:36

Tags