[Inclusão Digital]Apache2 - Consumo de SWAP.
Alexandre J. Correa - Onda Internet
alexandre em onda.net.br
Quarta Abril 4 08:59:27 BRT 2012
Shell script pode te ajudar
#!/bin/bash
# Get current swap usage for all running processes
# Erik Ljungstrom 27/05/2011
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do
PID=`echo $DIR | cut -d / -f 3`
PROGNAME=`ps -p $PID -o comm --no-headers`
for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'`
do
let SUM=$SUM+$SWAP
done
echo "PID=$PID - Swap used: $SUM - ($PROGNAME )"
let OVERALL=$OVERALL+$SUM
SUM=0
done
echo "Overall swap used: $OVERALL"
Em 03/04/2012 22:34, Eduardo Schoedler escreveu:
> Você hospeda páginas php?
> Nao tem algum problema na programação do site? Leak de memória?
>
> --
> Eduardo Schoedler
> Enviado via iPhone
>
> Em 03/04/2012, às 13:59, Luis Henrique F<luisforchesatto em gmail.com> escreveu:
>
>> Jaiton.
>>
>> Obrigado pelo tutorial. O apache já encontra-se configurado de acordo com
>> nossa demanda:
>>
>> StartServers 20
>> MaxClients 300
>> MinSpareThreads 5
>> MaxSpareThreads 50
>>
>> Estou agora analisando a probabilidade de ser algum bug no sistema ou falha
>> conhecida, mas acredito que não seja isso. Obrigado por enquanto.
>>
>> Att.
>>
>>
>> Em 3 de abril de 2012 13:04, solution network - jaitonys<
>> jaitonys em solutionnetwork.net.br> escreveu:
>>
>>> acredito que isso responde a sua pergunta e sobra
>>>
>>>
>>> Performance do Apache
>>> <http://www.hardware.com.br/**livros/linux-redes/**
>>> performance-apache.html<http://www.hardware.com.br/livros/linux-redes/performance-apache.html>
>>> O número de instâncias do servidor é uma das configurações mais
>>> diretamente relacionadas à performance do servidor e ao consumo de memória.
>>> O Apache é capaz de responder a um número indefinido de acessos
>>> simultâneos, de acordo com o link e recursos da máquina. Para cada
>>> requisição simultânea, é necessário que exista uma instância do Apache
>>> carregada na memória.
>>>
>>> Quando o cliente acessa uma página, ele monopoliza uma dessas instâncias
>>> abertas até que a requisição seja concluída, ou seja, até que a página seja
>>> carregada ou o arquivo baixado. Em horários de alta demanda, são abertas
>>> mais instâncias do servidor Apache, que vão sendo fechadas (para economizar
>>> memória) conforme os acessos diminuem.
>>>
>>> O número de instâncias abertas é determinada pelas quatro linhas abaixo,
>>> dentro do arquivo "/etc/apache2/apache2.conf":
>>>
>>> StartServers 5
>>> MinSpareServers 5
>>> MaxSpareServers 10
>>> MaxClients 20
>>>
>>> A opção "StartServers" determina o número padrão de servidores que ficarão
>>> carregados na memória, respondendo a requisições. Cada instância ocupa
>>> cerca de 2 MB de memória (um pouco mais de acordo com as opções de
>>> compilação usadas), de forma que 5 instâncias consomem cerca de 10 MB de
>>> memória do servidor.
>>>
>>> Além das instâncias principais, temos instâncias "reservas", que ficam
>>> disponíveis para absorver rapidamente picos de acesso, sem que o Apache
>>> tenha que perder tempo carregando mais instâncias para só depois começar a
>>> responder às requisições. As opções "MinSpareServers" e "MaxSpareServers"
>>> determinam o número mínimo e máximo de "reservas", sendo que o número real
>>> flutua entre os dois parâmetros, de acordo com a demanda.
>>>
>>> A opção "MaxClients" é a parede de concreto, o número máximo de conexões
>>> simultâneas que o Apache aceita manter abertas, independentemente da
>>> demanda. Quando esse número é atingido, o acesso ao site fica cada vez mais
>>> lento, pois cada novo visitante "entra na fila" e precisa esperar que uma
>>> das instâncias do Apache fique livre, antes de conseguir carregar cada
>>> página.
>>>
>>> Essa configuração default do Apache é adequada a um site de baixa demanda.
>>> Para um servidor dedicado, que hospede um site com muitas visitas, é
>>> necessário ajustar estes valores de acordo com a demanda. Uma forma fácil
>>> de verificar o status do servidor é ativar a diretiva "server-status"
>>> dentro do arquivo "/etc/apache2/apache2.conf". Adicione (ou descomente) as
>>> linhas abaixo:
>>>
>>> <Location /server-status>
>>> SetHandler server-status
>>> Order deny,allow
>>> Deny from all
>>> Allow from 200.234.23.233
>>> # (onde o 200.234.23.233 é o IP do micro do onde o relatório será acessado)
>>> </Location>
>>>
>>> Ative a configuração usando o comando "/etc/init.d/apache2 force-reload".
>>> A partir daí, você pode ver um instantâneo do status do servidor acessando
>>> a pasta "server-status", como em "http://kurumin.com.br/server-**status<http://kurumin.com.br/server-status>",
>>> a partir do navegador.
>>>
>>> A oitava linha indica o número de instâncias abertas, como em:
>>>
>>> 8 requests currently being processed, 5 idle workers
>>>
>>> Nesse exemplo temos 8 conexões abertas e 5 instâncias reservas do Apache
>>> abertas, prontas para receber novas conexões. A velocidade do acesso ao
>>> site está normal.
>>>
>>> Mas, o que acontece no caso de um pico de acesso, com 50 acessos
>>> simultâneos? Na configuração padrão você teria:
>>>
>>> 20 requests currently being processed, 0 idle workers
>>>
>>> Ou seja, o Apache responde às primeiras 20 conexões e coloca as demais na
>>> fila, fazendo com que os visitantes tenham que esperar vários segundos. Em
>>> casos mais extremos, o tempo de espera poderia ser tamanho que o site
>>> ficaria virtualmente fora do ar. É o que muitas vezes acontece com links
>>> publicados em sites muito acessados, como o slashdot.org.
>>>
>>> Isso pode ser minimizado configurando o Apache corretamente. Se você tem
>>> um servidor dedicado, com 256 MB de RAM, por exemplo, onde cada instância
>>> do Apache consome 2 MB, você poderia deixar a opção "MaxClients" com o
>>> valor "80" ou "100", de forma que o Apache aceite conexões até esgotar o
>>> limite da memória disponível (lembre-se de que além do Apache, temos o
>>> MySQL, PHP e outros recursos, que também consomem memória). Acima disso não
>>> adianta, pois o servidor passaria a usar memória swap, o que comprometeria
>>> o desempenho.
>>>
>>> A partir daí, você pode ajustar as opções "StartServers" e
>>> "MinSpareServers" de acordo com o número médio de acessos simultâneos. Em
>>> um site com, em média, 10 acessos simultâneos e picos de 20 ou 30 acessos,
>>> uma boa configuração seria:
>>>
>>> StartServers 10
>>> MinSpareServers 10
>>> MaxSpareServers 20
>>> MaxClients 80
>>>
>>> Outra opção que afeta negativamente o desempenho é a "HostNameLookups",
>>> onde o Apache verifica a origem de cada acesso, fazendo uma busca de
>>> domínio. Ativar essa opção permite criar estatísticas de acesso mais
>>> detalhadas, incluindo os países e provedores de acesso usados pelos
>>> visitantes, mas tem um impacto negativo muito grande na performance de um
>>> servidor congestionado. No Apache 2 ela já vem desativada por padrão, mas
>>> em versões antigas era necessário desativá-la manualmente:
>>>
>>> HostNameLookups Off
>>>
>>> Você pode simular tráfego no seu servidor, verificando como ele se
>>> comporta com níveis variados de tráfego usando o comando "ab", que faz
>>> parte do pacote "apache-utils". Chame-o indicando o número de requisições
>>> simultâneas e a página que será carregada, como em:
>>> *$ ab -n 1000 -c 20 http://www.meusite.com/teste.**php*<http://www.meusite.com/teste.php*>
>>>
>>> Nesse exemplo, estamos fazendo 1000 acessos à página, mantendo 20
>>> requisições simultâneas. Se possível, lance o teste a partir de outro
>>> servidor com link rápido, ou peça para vários amigos rodarem o comando
>>> simultaneamente, cada um usando sua conexão. Isso transformará o teste em
>>> algo mais parecido com uma situação normal.
>>>
>>> link de onde foi pego as informações http://www.hardware.com.br/**
>>> livros/linux-redes/**performance-apache.html<http://www.hardware.com.br/livros/linux-redes/performance-apache.html>
>>>
>>>
>>>
>>> Em 03-04-2012 10:16, Jeimerson C. Chaves escreveu:
>>>
>>> Outra coisa quanto você tem de SWAP e quanto você tem de RAM?
>>>> Em 3 de abril de 2012 10:14, Jeimerson C. Chaves<jeimerson em bsd.com.br>**
>>>> escreveu:
>>>>
>>>> Amigo, qual a versão do seu apache?
>>>>>
>>>>>
>>>>> Em 3 de abril de 2012 10:04, V. Feitoza<vfeitoza em gmail.com> escreveu:
>>>>>
>>>>> Caro,
>>>>>
>>>>>> Monitora o apache e limita o numero de processos por
>>>>>> requisições/clientes.
>>>>>> Verifica ainda de onde vem tanto acesso.
>>>>>>
>>>>>> Virtual Word - O mundo ao seu alcance.
>>>>>> Victor Feitoza
>>>>>> Gerente de TI
>>>>>> ______________________________**_________________
>>>>>> Inclusaodigital mailing list
>>>>>> Inclusaodigital em anid.com.br
>>>>>> http://mail.anid.com.br/**mailman/listinfo/**inclusaodigital<http://mail.anid.com.br/mailman/listinfo/inclusaodigital>
>>>>>>
>>>>>>
>>>>> ______________________________**_________________
>>>> Inclusaodigital mailing list
>>>> Inclusaodigital em anid.com.br
>>>> http://mail.anid.com.br/**mailman/listinfo/**inclusaodigital<http://mail.anid.com.br/mailman/listinfo/inclusaodigital>
>>>>
>>>>
>>> --
>>> ______________________________**_________________
>>> Inclusaodigital mailing list
>>> Inclusaodigital em anid.com.br
>>> http://mail.anid.com.br/**mailman/listinfo/**inclusaodigital<http://mail.anid.com.br/mailman/listinfo/inclusaodigital>
>>>
>>
>>
>> --
>> *
>> ____________________________________________________________
>> If you can make God bleed....people will leave to believe him!*
>> _______________________________________________
>> Inclusaodigital mailing list
>> Inclusaodigital em anid.com.br
>> http://mail.anid.com.br/mailman/listinfo/inclusaodigital
> _______________________________________________
> Inclusaodigital mailing list
> Inclusaodigital em anid.com.br
> http://mail.anid.com.br/mailman/listinfo/inclusaodigital
>
--
Sds.
Alexandre Jeronimo Correa
Sócio-Administrador
Onda Internet
www.onda.net.br
IPV6 Ready !
Mais detalhes sobre a lista de discussão Inclusaodigital