Apache: com as conexões do Googlebot, um único processo ocupa toda a memória do servidor

2

Seguindo link I postar como uma nova pergunta porque consegui identificar o fato de que isso acontece quando o cliente se conectando é o Googlebot.

Por "isso", quero dizer que um único processo apache consome 5 Gigabytes de memória?!

Alguém tem uma idéia sobre o que poderia ser a causa disso?

Muito obrigado por qualquer ajuda!

Eu encontrei outra pergunta com exatamente o mesmo problema, mas sem resposta: link

Nosso ambiente usa PHP e postgresql:

# httpd -V
Server version: Apache/2.2.3
Server built:   Jun  6 2012 10:00:42
Server's Module Magic Number: 20051115:3
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"
    
por db_ch 18.08.2012 / 01:35

1 resposta

1

Finalmente, encontramos uma solução, mas não olhando nos registros!

Era completamente impossível entender a causa do problema por qualquer solução possível. Mesmo com lixões centrais ou straces, nenhuma análise racional foi bem sucedida!

Até agora, mesmo com o problema resolvido, ainda não consigo entender de onde o problema realmente veio e / ou como entender de analisá-lo. Portanto, é muito difícil dar a você alguma garantia de que nossa solução foi realmente a solução!

Até onde eu sei, a solução parece ser MaxRequestsPerChild : Mensagem do ServerFault sobre o MaxRequestsPerChild

    
por 12.11.2012 / 14:24