Gerenciamento de memória no Apache + Perl

1

Eu tenho um web farm que usa o Apache 2.2.15 e o mod_perl-2.0.4. Preciso saber se existe um módulo perl comparável ao Apache::GTopLimit para mod_perl-2.x.

Eu pesquisei no Google e em outros sites e ainda não encontrei nada. O que eu preciso fazer é limitar a quantidade de memória que um trabalhador pode consumir. Se exceder o limite, quero que o trabalhador morra.

Eu já defini o valor MaxRequestsPerChild , mas isso não impede que um funcionário consuma toda a memória da caixa.

    
por QWade 25.03.2011 / 05:42

2 respostas

1

Se você tiver processos de trabalho do Apache sendo executados com toda a sua memória no mod_perl, provavelmente terá problemas maiores com o código do aplicativo subjacente. Você não precisa estar usando os funcionários do Apache manualmente, a menos que sua proporção de solicitações para os funcionários seja muito baixa. Nesse caso, ajustar essa proporção diminuindo o número de funcionários pode ajudar no problema.

Tudo isso de lado, há algo impedindo você de apenas apachectl graceful -ing Apache a cada n horas? Isso encerra todos os trabalhadores existentes do Apache assim que eles se tornam inativos, gerando novos; é uma abordagem de ação direta para gerenciar os processos de trabalho, se corrigir o problema de mod_perl subjacente não é uma opção.

    
por 25.03.2011 / 06:12
1

Para trabalhadores que são processos separados, ulimit trabalharia para interromper o crescimento da memória.

    
por 25.03.2011 / 09:26