
Ajuda. Como configurar o http.conf pra aguentar 30.000 visitas por dia.
#1
Posted 05 julho 2008 - 12:26
Estou (ou estava), tendo problemas direto, de tentar acessar o site, e não conseguir, simplesmente ele nao responder.
Um cara me disse:
"O apache está colocando seus usuários na fila, você deve aumentar a fila até o limite do seu servidor.
Modifique as seguintes variáveis:
StartServers
MaxServers
MaxClients
MaxSpareServers
MinSpareServers "
Editei no httpd.conf em /usr/local/apache/conf/httpd.conf
Mudei para:
StartServers 10
MinSpareServers 5
MaxSpareServers 20
MaxClients 500
MaxRequestsPerChild 300
Mudei também algumas outras linhas:
MaxKeepAliveRequests 1000
Restartei o apache.
Porém ainda continua o problema de algumas vezes eu tentar acessar algum site no servidor, e ele nao responder.
Ao que parece tem visitantes sendo barrados, pois meus ganhos no adsense cairam bem.
Qual seriam as configurações ideiais para esta quantia de visitas?
#3
Posted 05 janeiro 2009 - 09:14
Alguem poderia passar um tutorial em portugues com as modificações melhoradas deste arquivo?
#4
Posted 05 janeiro 2009 - 09:22
Outra coisa é evitar alguns tipos de caching e aplicar conexões persistentes em aplicações que conectam MUITAS vezes no BD.
Analise o código-fonte da aplicação para enxugar ao máximo todas as diretrizes.
Abraços e bom trabalho.
#5
Posted 06 janeiro 2009 - 06:37
alem de dimensionar bem o hardware é interresante dar uma olhada em outras coisas inicialmente
De uma optimize no BD dos clientes todo dia (tem uma cron em um topico aqui no forum) isto ajuda bastante nos problemas inicias com lentidão em banco de dados
Reveja as regras do mod_security muitas vezes tem regras desnecessárias lá ou que estão consumindo muito processamento
Faça um tunning no apache e mysql
Alguns links de como fazer um tunning (eu usei aqui e depois de aplicado o load da maquina baixou muito em horarios de picos
http://www.maurelio.net/?p=11
http://dev.mysql.com/doc/refman/5.0/en/ful...ine-tuning.html
lembrando que se você não tiver um hardware a altura do numero de acessos e sites, não vai adiantar muito você fazer o tunnig, vai continuar muitas vezes o gargalo e em algumas situações piora mais do que já estava
#6
Posted 25 janeiro 2009 - 11:24
Tudo depende do perfil do seu visitante. Eles carregam paginas pequenas sem fotos? Eles carregam páginas medias, com fotos grandes?
A sugestao que eu dou é:
KeepAlive On # Mantem as conexoes abertas, evitando handshake e economizando processamento
KeepAliveTimeout 2 # Timeout bem baixinho, pra ele não ficar "esperando" novas conexões eternamente
MaxKeepAliveRequests 5000 # "Refaz" o pool de Keepalive depois de 5000 conexoes, eliminando lixo, etc..
MaxClients 250
# Programa seu apache pra 250 clientes simultaneos. É um valor bem alto, mais indicado pra quando voce tem um KeepAlive timeout também alto, pois ele fica esperando pelas conexões. Mas é sempre bom deixar alto.
Não esqueça de colocar RAM... O bom servidor nunca pode fazer Swap, só em caso extremo, de emergencia (Nunca desabilite o swap)
[]s e boa sorte
#7
Posted 25 janeiro 2009 - 02:22
#8
Posted 25 janeiro 2009 - 08:52
MaxClients depende da quantidade de RAM, caso contrário seu servidor poderá se tornar instável. Outra coisa, não adianta botar 500 Maxclients na configuração, se o apache estiver compilado para não passar de 256 clients, nesse caso, é preciso aplicar um patch.
Se você tem realmente muito tráfego, talvez seja interessante manter o MinSpareServers/MaxSpareServers com um valor mais alto. Lembrando que essa configuração tem impacto direto sobre a performance. Se houver menos "servers" que o valor de MinSpare, o apache se encarregará de criar, e se houver mais "servers" livres do que o MaxSpareServers, o apache se encarregará de finalizar. Esse ato de criar/finalizar requer recursos do sistema, e um valor bem ajustado com a sua realidade irá proporcionar o que você necessita.
O StartServers normalmente é ajustado de acordo com o MinSpareServers.
Outra opção importantíssima é o Timeout, para sites de maior tráfego verá que o valor 300 reduz demais sua performance. Para esses casos, um valor entre 60-120 dependendo do tipo de conteúdo que utilize.
Ainda outras considerações:
- muitos módulos do PHP configurados impactam na performance.
- talvez seja interessante mesclar um servidor para imagens e outro para scripts PHP (como o lighttpd - na mesma máquina). Isso já expliquei em outra ocasião aqui no forum, o apache utiliza processos do "maior" tamanho existente no servidor para atender imagens o que gera um overload "burro".
Além desses detalhes, se você estiver com algum gargalo no seu sistema, não irá adiantar muito, é importante entender sua situação para tomar boas soluções.
#9
Posted 27 janeiro 2009 - 06:18
Fiz umas modificações mas nao ajudou.
msn de contato -> andersonwebdesigner@hotmail.com
Será remunerado.
Bom 2 pessoas olharam o server e nao deram uma solução concreta.
Aqui posto um log do horario de pico que alguns topicos nem abrem:
Current Time: Thursday, 05-Feb-2009 19:29:20 EST
Restart Time: Thursday, 05-Feb-2009 06:23:33 EST
Parent Server Generation: 0
Server uptime: 13 hours 5 minutes 46 seconds
Total accesses: 878036 - Total Traffic: 8.8 GB
CPU Usage: u223.89 s24.4 cu.03 cs0 - .527% CPU load
18.6 requests/sec - 194.6 kB/second - 10.5 kB/request
253 requests currently being processed, 0 idle workers
-----------------------------------------
Current Time: Thursday, 05-Feb-2009 19:32:46 EST
Restart Time: Thursday, 05-Feb-2009 06:23:33 EST
Parent Server Generation: 0
Server uptime: 13 hours 9 minutes 12 seconds
Total accesses: 885874 - Total Traffic: 9.6 GB
CPU Usage: u194.9 s21.12 cu.03 cs0 - .456% CPU load
18.7 requests/sec - 212.3 kB/second - 11.3 kB/request
193 requests currently being processed, 44 idle workers
-------------------------------------------
Current Time: Thursday, 05-Feb-2009 19:41:26 EST
Restart Time: Thursday, 05-Feb-2009 06:23:33 EST
Parent Server Generation: 0
Server uptime: 13 hours 17 minutes 52 seconds
Total accesses: 904256 - Total Traffic: 10.5 GB
CPU Usage: u154.91 s16.65 cu0 cs0 - .358% CPU load
18.9 requests/sec - 229.6 kB/second - 12.2 kB/request
212 requests currently being processed, 10 idle workers
--------------------------------------------------
urrent Time: Thursday, 05-Feb-2009 21:26:28 EST
Restart Time: Thursday, 05-Feb-2009 06:23:33 EST
Parent Server Generation: 0
Server uptime: 15 hours 2 minutes 54 seconds
Total accesses: 1105563 - Total Traffic: 29.8 GB
CPU Usage: u98.47 s10.49 cu.04 cs0 - .201% CPU load
20.4 requests/sec - 0.6 MB/second - 28.3 kB/request
125 requests currently being processed, 3 idle workers
-------------------------------------------------------
Current Time: Thursday, 05-Feb-2009 21:49:01 EST
Restart Time: Thursday, 05-Feb-2009 06:23:33 EST
Parent Server Generation: 0
Server uptime: 15 hours 25 minutes 28 seconds
Total accesses: 1136872 - Total Traffic: 30.5 GB
CPU Usage: u97.66 s10.64 cu.03 cs0 - .195% CPU load
20.5 requests/sec - 0.6 MB/second - 28.1 kB/request
130 requests currently being processed, 12 idle workers
This post has been edited by _bono_vox_: 05 fevereiro 2009 - 11:49
#10
Posted 17 fevereiro 2009 - 10:17
Faz upgrade no seu servidor, talvez seja a melhor saida. Primeiro RAM, se nao adiantar, CPU.
This post has been edited by Gustavo G: 17 fevereiro 2009 - 10:18
#12
Posted 19 fevereiro 2009 - 09:29
dar uma olhada no banco de dados? indices nas tabelas?
acelerador ou coisas assim
#13
Posted 20 fevereiro 2009 - 12:33
Tunning do mysql, do exim e por aí vai.

Help










