apache 2.4.18 server-status estranho “W” Enviando encadeamentos de resposta

1

Recentemente, mudamos para o apache 2.4.18 em nosso servidor de produção e acessamos todos os https / ssl (HTTP / 2 com http2_module) em nosso site, com cerca de 100.000 visitas por dia.

Estamos usando o MPM worker e o PHP 5.6 via PHP-FPM (proxy_fcgi), já que o MPM parece ainda não estar funcionando corretamente ao usar https.

As configurações são:

<IfModule mpm_worker_module>
ServerLimit         16  
StartServers         8   
MinSpareThreads     64  
MaxSpareThreads      256 
ThreadLimit          64  
ThreadsPerChild      64  
MaxRequestWorkers     1024
MaxConnectionsPerChild   10000
</IfModule>

Após o servidor ser reiniciado, o número de threads em nossa instalação do Debian Jessie aumenta para vários milhares após algumas horas e o log de erros do apache fica cheio com estas mensagens:

AH00288: scoreboard is full, not at MaxRequestWorkers

/ server-status parece indicar alguns tópicos "W sends reply" estranhos que não fazem nada além de ter um longo tempo de execução:

W___KRK___KKC__C___KR__K__KKKRKKKKK___K__CC__KR____K__KK________
__KWR_KK_K_C__KC_KKKKKKK__KK__C_KKKKCK_KKK_C_K____WRKK_K_KKR_K_K
KK_CRKKKKRKKKKK__KK_WKCKK_KKKK_KWKKKWKKRRR__KK__K____KKKCK_KKKKK
_KK___K_W__K___CK_C___K____CRK____CKK_______KKKKKKCK___KCKK_KKK_
KK_KK_KK_KKKKK_K_KKK_KRKK_C_CKKR_C_KW__K_KWRK_KK_R_KR_K__KKK__K_
..............................C.........................W.......
...............................W..............................WW
............W.........W.........................................
.........W..........W....................W......................
.................W.......W......................................
.........................................................W......
CKKKKK_KK_KKKK_CKKKRK_RKRKKKKRRKKRKK_KC_KRKKK_KKKKKRKRRKKKKR_RK_
.............................................................W..
................................................................
................................................................
................................................................

Todos os encadeamentos "W" são assim: Funcionando por 1453710297 segundos, o que não pode ser verdade, já que o servidor foi reiniciado ontem e nada mais.

5-0 21872   0/0/0   C   0.00    1453710297  0   0.0 0.00    0.00
5-0 21872   0/0/0   W   0.00    1453710297  0   0.0 0.00    0.00
6-1 17300   0/0/0   W   0.00    1453710297  0   0.0 0.00    0.00
6-1 17300   0/0/0   W   0.00    1453710297  0   0.0 0.00    0.00
6-1 17300   0/0/0   W   0.00    1453710297  0   0.0 0.00    0.00
7-1 4298    0/0/0   W   0.00    1453710297  0   0.0 0.00    0.00
7-1 4298    0/0/0   W   0.00    1453710297  0   0.0 0.00    0.00
8-1 4539    0/0/0   W   0.00    1453710297  0   0.0 0.00    0.00
8-1 4539    0/0/0   W   0.00    1453710297  0   0.0 0.00    0.00
8-1 4539    0/0/0   W   0.00    1453710297  0   0.0 0.00    0.00
9-1 21393   0/0/0   W   0.00    1453710297  0   0.0 0.00    0.00
9-1 21393   0/0/0   W   0.00    1453710297  0   0.0 0.00    0.00
10-1    25117   0/0/0   W   0.00    1453710297  0   0.0 0.00    0.00

Nenhuma indicação de qual foi a solicitação na última coluna.

módulos carregados são:

apache2ctl -M
Loaded Modules:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 evasive20_module (shared)
 expires_module (shared)
 filter_module (shared)
 headers_module (shared)
 http2_module (shared)
 mime_module (shared)
 mpm_worker_module (shared)
 negotiation_module (shared)
 pagespeed_module (shared)
 proxy_module (shared)
 proxy_fcgi_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 socache_shmcb_module (shared)
 ssl_module (shared)
 status_module (shared)

Eu pesquisei na web há dias e não consigo encontrar nenhuma solução. Ajuda é muito apreciada. Se você precisar de mais informações, detalhes, registros, por favor me avise e me aponte para isso.

    
por Perrschy 25.01.2016 / 09:48

1 resposta

0

Houve alguns problemas como este e atualizar para a versão mais recente do mod_h2 parece resolvê-lo.

Por exemplo: link

Eu também gostaria de acrescentar que o desenvolvedor do mod_h2 (icing) é muito responsivo a questões como essa levantada no projeto do Git, então se atualizar para a versão mais recente não consertá-lo, eleve um problema lá. Como este módulo ainda é experimental, é o melhor lugar para obter suporte por enquanto.

    
por 25.01.2016 / 20:58