[Inclusão Digital]Apache2 - Consumo de SWAP.
solution network - jaitonys
jaitonys em solutionnetwork.net.br
Terça Abril 3 13:04:46 BRT 2012
acredito que isso responde a sua pergunta e sobra
Performance do Apache
<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", 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*
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
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
>>>
>>
> _______________________________________________
> Inclusaodigital mailing list
> Inclusaodigital em anid.com.br
> http://mail.anid.com.br/mailman/listinfo/inclusaodigital
>
--
Mais detalhes sobre a lista de discussão Inclusaodigital