Jaccon

  • Home
  • About me
  • Arquivo
  • Projetos
  • Vídeos
  • Categorias
    • How Tos
    • Apple
    • OSX86
    • Bookmarks
    • Bugs
    • Codeclick
    • Colaborações
    • Entretenimento
    • Gadgets
    • Google
    • Hacking
    • Linux
    • Code
      • Scripts PHP
      • Jquery
  • Reviews

Apache tuning ( customizando o Apache para melhorar a performance do servidor )

Apache tuning ( customizando o Apache para melhorar a performance do servidor )

Publicado em December 26, 2008

 

Apache Tuning – ( melhorando a performance do Apache )
=============================================
O segredo para o bom funcionamento de um Apache Web Server é sua customização de acordo com os recursos de hardware disponíveis. Neste documento vamos fazer um abordagem rápida sobre estas customizações com um exemplo prático de como fazer isto.

- Hardware utilizado para o teste
Intel Celerom 2.2 Ghz single core
2 GB RAM
HDD 250 GB

- Sistema Operacional
CentOS 5
Kernel 2.6.18

- Recursos de hardware – RAM
Um dos fatores que afetam  a performance de um servidor Apache é a memória RAM. O Apache aloca e usa recursos da memória RAM para disponibilizar os resultados das requisições HTTP feitas pelos usuários, e quanto maior a quantidade de requisições, mais recursos você irá precisar para ter seu servidor Apache saudavél. Exemplo digamos que você tenha um portal que tenha em média 10.000 pageviews /dia com um banco de dados MySQL no qual o arquivo que indexa o conteúdo é um script PHP que faz em média 30 Querys. Para isso você irá precisar de uma máquina com as seguintes configurações:

Intel Xeon 3.2 Ghz ( single core / melhor se for uma máquina com dois núcleos )
4 GB RAM
HDD ( a quantidade de espaço em disco neste caso não deverá ser levada em consideração e sim a velocidade de acesso deste HDD )

Exemplo real:
Um site que é parceiro do portal UOL possui um site que toda vez que o site cai na Home do UOL há um pico muito grande de acessos no qual o servidor não possuia os recursos necessários para segurar os acessos, resultado ? Server Down, Freeze… crash. Solução ?? Aumentar a quantidade de memória para 8 GB e trocar o processador de um single Xeon para um Dual Xeon Dual Core.

Falando no geral, o I/O de disco vêm em segundo lugar após do trio RAM/CPU/Network link.

Configurando o prefork
Abaixo daremos um exemplo básico dos parâmetros do prefork

<IfModule prefork.c>
StartServers            8
MinSpareServers         5
MaxSpareServers        20
MaxClients            150
MaxRequestsPerChild  1000
</IfModule>

#<IfModule worker.c>
#  StartServers            2
#  MaxClients            150
# MinSpareThreads        25
# MaxSpareThreads        75
#ThreadsPerChild        25
#MaxRequestsPerChild     0
#</IfModule>

#<IfModule mpm_winnt.c>
# ThreadsPerChild       250
# MaxRequestsPerChild     0
#</IfModule>

Como utilizaremos o prefork, podemos comentar o worker e o mpm_winnt ( este é utilizando para o Apache no Windows )

MaxClients
O parâmetro MaxClients é o número máximo de conexões simultâneas no servidor Apache, esta diretiva é fundamental para o funcionamento do servidor Apache.

Equação para o MaxClients

MaxClients = (RAM – tamanho_de_todos_outros_processos_do_servidor ) / ( tamanho_dos_processos_do_apache )

Para conseguir detectar estes processos utilize os comandos abaixo:

ps -ylC httpd –sort:rss ( para encontrar  o tamanho dos processos. Divida o número por 1024 para verificar o valor em Megabytes );

free -m ( determina a quantidade de buffers/cache utilizados )

vmstat 2 5( mostra o número de processos rodando, blocados, aguardando processos, e entrada e saída da área de swap ).

Nossos exemplo para nossos servidor:

<IfModule prefork.c>
StartServers            8
MinSpareServers         5
MaxSpareServers        20
MaxClients            450
MaxRequestsPerChild  1000
</IfModule>

KeepAlive off
KeepAliveTimeout 15
MaxKeepAliveRequests 80
Timeout 45

*Quando utilizar o prefork é recomendado desabilitar o KeepAlive,

Referência
: http://www.devside.net/articles/apache-performance-tuning

Outros referências:
http://blogcritics.org/archives/2006/01/27/1757402.php

 

André Jaccon é fundador da empresa Blue Systems Tecnologia e criador da rede social Buble. Trabalhando atualmente nos projetos Code Click CMS, Code Click TV e otimização de performance de servidores web

Busca
Categorias
  • Apple
  • Blue Systems
  • Bookmarks
  • Buble Open Source
  • Bugs
  • Code Click CMS
  • Codeclick
  • Colaborações
  • Comunicados
  • Desenvolvimento
  • Destaque poster
  • Destaque princial
  • Destaque Secundário
  • Entretenimento
  • Entrevistas
  • Eventos
  • Facebook
  • Fails
  • Gadgets
  • Galerias de imagem
  • Games
  • Geek
  • Geral
  • Google
  • Hacking
  • How Tos
  • Jquery
  • Linux
  • Magento
  • Mobile
  • OSX86
  • Playlist
  • Projetos
  • Python
  • Reviews
  • Scripts PHP
  • Site Failure
  • Social Media
  • SQL
  • Twitter
  • Uncategorized
  • Vídeos
  • Wallpapers
  • Windows Tweaks
  • WP
  • Yahoo
Archives
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • August 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • November 2007
  • October 2007
  • September 2007
  • August 2007
  • July 2007
  • June 2007
  • May 2007
  • April 2007
  • March 2007
  • February 2007
  • January 2007
  • December 2006
  • November 2006
  • October 2006
  • September 2006
  • August 2006
  • July 2006
  • June 2006
  • May 2006
  • April 2006
  • December 2005
  • November 2005
  • October 2005
  • September 2005
  • August 2005
  • July 2005
  • June 2005
  • May 2005
  • April 2005
  • March 2005
  • February 2005
  • January 2005
  • December 2004
  • November 2004
  • October 2004
  • September 2004
  • August 2004
  • July 2004
  • June 2004
  • May 2004
  • April 2004
  • March 2004
  • February 2004
  • January 2004
  • December 2003
  • November 2003
  • October 2003
  • September 2003
  • August 2003
  • July 2003
  • June 2003
  • December 204
  • Jaccon - 2013
  • Blue Systems Tecnologia
  • Buble Social Network