PHP 5.3 Apache 2.2 MySQL 5.5 Drupal 6

2

Estamos executando o Drupal 6.26, PHP 5.3 no Apache 2.2 mysql5.5. O servidor web Prod tem loadbalancer em execução com dois appservers PROD. O Prod Webserver foi desativado com httpd.exe usando 100% da CPU.

Abaixo está o extrato do despejo de memória. Este é o segmento onde o Apache trava.

.  0  Id: 126c.c20 Suspend: 0 Teb: 7efdd000 Unfrozen
ChildEBP RetAddr  
000cfd60 765615e9 ntdll!ZwWaitForMultipleObjects+0x15
000cfdfc 762319fc KERNELBASE!WaitForMultipleObjectsEx+0x100
000cfe44 762341d8 kernel32!WaitForMultipleObjectsExImplementation+0xe0
000cfe60 6ff1dc10 kernel32!WaitForMultipleObjects+0x18
WARNING: Stack unwind information not available. Following frames may be wrong.
000cfe9c 6ff20655 libhttpd!ap_regkey_value_remove+0x710
000cfec4 004017c7 libhttpd!ap_mpm_run+0x1c5
000cff14 00401f73 httpd+0x17c7
000cff88 7623336a httpd+0x1f73
000cff94 776a9f72 kernel32!BaseThreadInitThunk+0xe
000cffd4 776a9f45 ntdll!__RtlUserThreadStart+0x70
000cffec 00000000 ntdll!_RtlUserThreadStart+0x1b
    
por Bhavna 18.02.2014 / 17:06

1 resposta

0

Isso certamente parece um código de bloqueio (ou seja, bloqueio no sentido de exclusão mútua), mas é difícil saber com certeza. Como o aviso indica, a única maneira de garantir que você está obtendo informações corretas é ter o Apache sendo executado em um depurador quando a falha ocorrer. Esse mesmo método também garantirá que você consiga extrair outras informações relevantes sobre o estado do sistema.

É claro que a solução prática pode ser simplesmente jogar alguns macacos em algumas máquinas de escrever e ver se você não pode, assim, dançar fora do problema sem ter que recorrer a algo tão doloroso quanto depuração do Apache no Windows. Por exemplo, você poderia tentar uma distribuição diferente da pilha WAMP ou alternar sistemas operacionais nos servidores (se for prático). Em última análise, isso é muito difícil de resolver, então ambas as rotas - encontrar e resolver o problema, ou fazer uma volta ao redor - merecem total consideração.

Por que vale a pena, no Linux, eu tenho a tendência de achar que esses problemas são os que mais geram caches, otimizadores e (de) ofuscadores opcache. Se você estiver executando esse código, por exemplo, IonCube, ZendGuard, APC, o Windows Cache Extension para PHP, etc. - considere desativá-lo por uma ou duas horas e veja se os problemas desaparecem.

    
por 04.03.2014 / 20:50