Boa tarde Marco, tudo bem?<br>
<br>
Eu consegui amostragens muito boas usando o Apache::Scoreboard , ele consegue pegar esses parametros<br>
todos do mod-status.<br>
<br>
Um outro parametro que acho interessante é o <br>
<br>
kill -USR1 `cat path/httpd.pid` , não sei se no caso seria util.<br>
<br>
<a href="http://httpd.apache.org/docs/1.3/stopping.html">http://httpd.apache.org/docs/1.3/stopping.html</a><br>
<br>
<br>
<br>
Os calculos sobre os parametros do apache eu estudei com muito cuidado, por isso fiquei indignado<br>
do pessoal ter falado que o problema era do web service.<br>
<br>
Uma documentacao que achei bem bacana foi essa, indicada pelo amigo Hamilton ( que por<br>
algum motivo sombrio apenas lê a lista, mas me deu uma forca danada no quesito apache e linux).<br>
<br>
<a href="http://modperlbook.org/html/ch11_01.html">http://modperlbook.org/html/ch11_01.html</a><br>
<br>
Continuarei na luta, obrigado mais uma vez Marco<br><br><div><span class="gmail_quote">2007/1/23, Marco A P D'Andrade <<a href="mailto:mdacwb@gmail.com">mdacwb@gmail.com</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Cristiano,<br><br>Eu tenho uma situação similar em um ambiente de webmail, onde alguns<br>processos do apache perdem o sincronismo, e somente com um kill direto<br>para liberar os recursos...<br><br>Iniciei alguns testes verificando informações no ExtendedStatus, e
<br>decidindo quais seriam os processos a ser derrubados, ainda nada<br>conclusivo, mas tomei a pratica de:<br><br> Status =~ /KRW/<br> SS > 10000 (Seconds Since Last Request)<br><br>Já pensei em utilizar Acc, e eliminar a partir de determinado numero,
<br>equivalente a MaxRequests, mas nem tive tempo de avaliar isto...<br><br>Se julgar relevante esta abordagem, posso lhe enviar a parte que<br>esbocei para o parser do html gerado.<br><br>Caso não tenha o server-status ativo, segue um exemplo do resultado:
<br><br> <a href="http://httpd.apache.org/server-status">http://httpd.apache.org/server-status</a><br><br><br>Claro, que vc também deve considerar se o numero de processos<br>indicados no MaxClient "cabe" em memória...
<br><br><br><br>Sds,<br>Marco Antonio<br><br>2007/1/22, Cristiano Torres <<a href="mailto:listas.perl@gmail.com">listas.perl@gmail.com</a>>:<br>> Boa tarde Lorn... omiti algumas coisas no primeiro e-mail e mesmo assim
<br>> ficou grande.<br>><br>> Além dos fatos que apresentei, em<br>> <a href="http://mail.pm.org/pipermail/cascavel-pm/2007-January/007952.html">http://mail.pm.org/pipermail/cascavel-pm/2007-January/007952.html
</a><br>><br>> Um agravante é que, devido a má gerencia de processos da aplicação o<br>> "Apache" fica com muitos processos filhos presos<br>> que não conseguem ser gerenciados pelo processo pai. Portanto as diretivas
<br>> MaxSpareServer, MaxRequest,MaxClients etc<br>> não tinham efeito para os processos de conexão com o banco, entao depois que<br>> o modulo desenvolvido conectava com o<br>> banco, o servidor web "perdia" controle sobre o processo ( porém continuavam
<br>> no scoreboard do apache).<br>><br>> Entao acontecia a situacao N processos do apache na porta 80 e N+X conexoes<br>> com o banco oracle, onde X crescia a medida<br>> que os processos do apache eram reciclados. Isso gerou uma situacao em que
<br>> varios processos concorriam com conexoes ao<br>> banco e ficavam disputando memoria e cpu timing, então para eles era normal<br>> dar um "top" e ver o "load avarage" em 150,<br>> coisas do tipo. Depois que vi esse estupro no servidor, escandalizei.
<br>><br>> Passei para o pessoal quais as chamadas de sistema que o apache mandava<br>> para o processos filhos, mostrei como ele fazia forks,<br>> etc etc ( gracas a documentacao do apache e do proprio codigo), mostrei o
<br>> porque estava gerando tantos locks no banco, as<br>> concorrencias de conexao com o banco etc...<br>><br>> Tudo bem, analisar o problema e falar para o pessoal que está errado foi a<br>> parte facil, porém fiquei meio
<br>> infeliz com minha incapacidade de resolver o problema por completo. Entao<br>> resolvi aprofundar meus conhecimentos<br>> em perl ( ou melhor, tentar desenvolver alguma coisa de qualiade) ... e acá<br>> estou :)
<br>><br>> E ja aprendi muito .<br>><br>><br>> Desculpe a demora e a possivel falta de coerencia, faltam algumas horas de<br>> sono no meu Portugues.<br>><br>> Obrigado.<br>><br>><br>> Em 21/01/07, Lorn <
<a href="mailto:lorn.br@gmail.com">lorn.br@gmail.com</a>> escreveu:<br>> > Explique melhor seu problema para que possamos ajuda-lo :)<br>> ><br>> > On 1/20/07, Cristiano Torres < <a href="mailto:listas.perl@gmail.com">
listas.perl@gmail.com</a>> wrote:<br>> ><br>> ><br>> > ><br>> > > Caros mestres, bom dia.<br>> > ><br>> > > Uma breve introdução desse humilde aprendiz, e claro uma solicitação de
<br>> ajuda ou referência.<br>> > ><br>> > > Onde trabalho sou um dos responsáveis pela área de TI e configuração de<br>> servidores WEB. Basicamente configuro e<br>> > > monitoro servicos WEB para que a aplicacao desenvolvida pela empresa
<br>> rode sem problemas. Porém recentemente<br>> > > começaram a desenvolver um modulo para apache ( desenvolveram em Kylix<br>> para versao 1.3.37 do Apache) que<br>> > > recebe as conexoes via http, processa a requisicao, abre conexao com
<br>> oracle e retorna o resultado para o cliente.<br>> > ><br>> > ><br>> > > O que acontece é que esse modulo esta abrindo mais conexoes com o banco<br>> do que devia, e os malditos<br>> > > desenvolvedores em delphi disseram que a culpa é do servico web.
<br>> > ><br>> > > Já mostrei para o pessoal que o apache só gerencia as requisicoes com a<br>> porta na qual o processo "escuta" (80),<br>> > > e que as outras conexoes deveriam ser gerenciadas pelo modulo/driver que
<br>> eles utilizam. Fiz isso usando<br>> > > um modulo do CPAN "Apache::Scoreboard" (entao tive uma breve nocao do<br>> poder do perl)<br>> > Bom, podem ficar tranquilos que não vim pedir ajuda em kylix ou em delphi,
<br>> meu intuito é elaborar um programa<br>> > ><br>> > ><br>> > > que faça o seguinte, pegue o PID do processo do apache, se esse PID não<br>> tiver simultaneamente conexoes abertas<br>> > > na porta 80 e 1521 (porta do banco), que gere uma lista.
<br>> > ><br>> > ><br>> > > Nao pretendo corrigir a falha do modulo do desenvolvimento, queria<br>> aprender como linguagens de<br>> > > programacao mais apropriadas lidam com isso, por isso peço uma
<br>> referencia. Acho que<br>> > > para corrigir isso o ideal seria que trocassem o pessoal do<br>> desenvolvimento<br>> > ><br>> > ><br>> > > Comprei o Learning Perl, mas ainda estou apanhando um pouco.
<br>> > ><br>> > > Se alguem poder dar uam dica para esse pequeno gafanhoto, agradeço.<br>> > ><br>> > > E desculpem pelo tamanho do e-mail<br>> > ><br>> > ><br>> > > Cristiano Torres
<br>> > > _______________________________________________<br>> > > Cascavel-pm mailing list<br>> > > <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>> > > <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">
http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>> > ><br>> > ><br>> ><br>> ><br>> ><br>> > --<br>> > Lindolfo "Lorn" Rodrigues<br>> > - <a href="http://www.slackwarezine.com.br">
www.slackwarezine.com.br</a><br>> > - <a href="http://lornlab.org">http://lornlab.org</a><br>> > - <a href="http://sao-paulo.pm.org">http://sao-paulo.pm.org</a><br>> > use Catalyst;<br>> > _______________________________________________
<br>> > Cascavel-pm mailing list<br>> > <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>> > <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm
</a><br>> ><br>> ><br>><br>><br>> _______________________________________________<br>> Cascavel-pm mailing list<br>> <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>> <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">
http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>><br>><br>_______________________________________________<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">
http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br></blockquote></div><br>