Apache2 no Debian congela depois de algum tempo

1

Eu tenho problema com o servidor apache no Debian VPS. Depois de algum tempo (poucas horas) de trabalho, ele congela e nenhum pedido está sendo processado (o servidor permite a conexão, mas não retorna nada).

# apache2 -v  
 Server version: Apache/2.2.22 (Debian)
 Server built:   Dec 23 2014 22:48:29


# apache2 -l
Compiled in modules:
  core.c
  mod_log_config.c
  mod_logio.c
  mod_version.c
  prefork.c
  http_core.c
  mod_so.c

<IfModule mpm_prefork_module>
    StartServers          1
    MinSpareServers       1
    MaxSpareServers      19
    MaxClients          19
    MaxRequestsPerChild   20
</IfModule>

Esta configuração é depois de alguns testes, baixa MaxRequestsPerChild parecia ajudar, mas não, servidor ainda frezees.

Quando o servidor está congelado, fica preso em poll syscall:

# strace -p 30145
Process 30145 attached - interrupt to quit
restart_syscall(<... resuming interrupted call ...>) = 0
poll([{fd=25, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout)
poll([{fd=25, events=POLLIN|POLLERR|POLLHUP}], 1, 10000
[......]

e isso continua. Este resultado do backtrace do gdb:

#0  0x00007eff42499d13 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007eff3f35bf50 in ?? () from /usr/lib/apache2/modules/libphp5.so
#2  0x00007eff3f16a5b2 in ?? () from /usr/lib/apache2/modules/libphp5.so
#3  0x00007eff3f34fa65 in _php_stream_fill_read_buffer () from /usr/lib/apache2/modules/libphp5.so
#4  0x00007eff3f34fba7 in _php_stream_read () from /usr/lib/apache2/modules/libphp5.so
#5  0x00007eff3f2cc14a in zif_fread () from /usr/lib/apache2/modules/libphp5.so
#6  0x00007eff3f4411c1 in ?? () from /usr/lib/apache2/modules/libphp5.so
#7  0x00007eff3f3fab77 in execute () from /usr/lib/apache2/modules/libphp5.so
#8  0x00007eff3f399a1c in zend_execute_scripts () from /usr/lib/apache2/modules/libphp5.so
#9  0x00007eff3f339393 in php_execute_script () from /usr/lib/apache2/modules/libphp5.so
#10 0x00007eff3f4438ba in ?? () from /usr/lib/apache2/modules/libphp5.so
#11 0x00007eff4326bdc0 in ap_run_handler ()
#12 0x00007eff4326c20b in ap_invoke_handler ()
#13 0x00007eff4327c448 in ap_process_request ()
#14 0x00007eff432792c8 in ?? ()
#15 0x00007eff43272780 in ap_run_process_connection ()
#16 0x00007eff432811ee in ?? ()
#17 0x00007eff43281942 in ?? ()
#18 0x00007eff432824a6 in ap_mpm_run ()
#19 0x00007eff432568e6 in main ()

Então parece que está preso no PHP:

# php -v
PHP 5.4.36-0+deb7u3 (cli) (built: Jan  9 2015 08:07:06) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

Alguma dica do que está acontecendo? Configuração e código é basicamente inalterado, apenas atualizações para pacotes e Wordpress foram aplicadas (este site executa algumas pequenas instâncias do Wordpress e sites estáticos. Uso da memória é de aproximadamente 800 MB quando VPS é com 1G de RAM. CPU está ocioso ...

    
por Witold Rugowski 09.03.2015 / 09:18

0 respostas