[Cascavel-pm] Gerenciando conexoes
Luis Motta Campos
luismottacampos em yahoo.co.uk
Terça Janeiro 23 00:38:37 PST 2007
On Jan 23, 2007, at 2:07 AM, Lorn wrote:
> Bom, tenho uma dica
> Qual versão do apache é a sua?
> Se a versão é acima de 2.x e foi você que compilou sugiro que dê
> uma pesquisada sobre os MPM disponiveis
> --with-mpm=MPM Choose the process model for Apache to use.
> MPM={beos|worker|prefork|mpmt_os2|
> perchild|leader|threadpool}
> Com certeza esse seu erro é na aplicacão mais usando e configurando
> o MPM você pode evitar filhos orfãos ( até que enfim alguem pensou
> nas criancinhas... )
Cuidado com isso.
Dependendo de como a aplicação foi escrita, isso pode sair pela
culatra.
O Apache normalmente faz a coisa certa quando ele acredita que o
processo que ele está gerindo (CGI, ou seja lá o que for) terminou, e
que os recursos que ele usou já foram liberados.
Quando, por qualquer motivo, isso não é verdade, e o Apache não
tem como descobrir sozinho (especialmente em se tratando de conexões
com bases de dados mal-comportadas como o Oracle), então ele
"respeita" o processo, aguardando que ele passe para o conhecido
status de "OK, agora eu terminei" antes de tentar destruir o processo-
filho e executar wait() nele.
Claro, se uma besta cúbica deixar a conexão com a base de dados
aberta e terminar o programa, sob certas condições isso vai resultar
no apache não sabendo o que fazer com o processo, que vai ser
encostado, simplesmente, até que ele mude de estado e possa ser
corretamente reclamado pelo wait().
O que acontece mais normalmente é que o Oracle termina conexões de
base de dados que ficam inativas muito tempo (mas isso nunca foi
default), e pode eventualmente "chutar" uma conexão com a base de
dados que não serve mais um processo ativo. Isso basta normalmente
para permitir ao Apache executar wait() e reclamar os recursos do
"processo filho pródigo".
Desta forma, eu recomendo que a aproximação de "bater nos
prestadores de serviço" para obter software decente ou o dinheiro de
volta como a mais viável...
Putamplexos!
--
Luis Motta Campos is software engineer,
perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão Cascavel-pm