Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Uma dica simples para otimizar a performance do servidor.
No arquivo httpd.conf do apache configure o módulo mpm_prefork_module com os seguintes parâmetros:
<IfModule mpm_prefork_module>
StartServers 15
MinSpareServers 15
MaxSpareServers 30
MaxClients 300
ThreadsPerChild 100
MaxRequestsPerChild 5
SendBufferSize 50
</IfModule>
Últil para sites e sistemas com elevados acessos simultâneos.
recomendação:
- windows 2003 server
- windows 2000 server
- Apache 2.2.8
ainda no httpd.conf, procure por
"EnableMMAP" e "EnableSendfile"
se estiverem ativados, desative-os com um comentário
#EnableMMAP off
#EnableSendfile off
Hardware
Pentium 4 1GHz
1Gb RAM
HD 100GB 7200 RMP
Conexão 100Mb / s fibra optica
outra série de combinações
800 conexões simultâneas
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 5
MaxSpareServers 40
MaxClients 800
ThreadsPerChild 1600
MaxRequestsPerChild 1
SendBufferSize 1
</IfModule>
outras combinações interessantes
#10, 5, 60, 800, 400, 1, 1
#10, 5, 60, 400, 50, 1, 1
mais uma dica rápida
se tiver com problemas de performance, principalmente perda de memoria ou alto uso de processador,
altere o atributo "SendBufferSize" colocando o valor máximo
SendBufferSize = PageSize
desse modo a página inteira é bufferizada antes de ser enviada ao cliente.
Dessa última eu não sabia :P
valeu
+ ou - 50 maquinas para acessar em rede local.
como deveria ser as configuraçoes??
obrigado
rafael, as configurações dependem da capacidade do hardware.
infelizmente nao existe um "to-do-list"..
esse tipo de configuração deve ser feita por meio de experimentação, tentativa e erro.
qual a versão do apache e windows está usando ?
possui outros serviços em execução no server ? email, ftp, php, mysql, etc..?
ola,
o sistema (servidor) esta em fase de implementação, por isso nao da pra falar precisamente o que vai ter nele.
a principio, um intel dual core, 512 ou 1gb de ram (nao tenho certeza), e com debian. Apache 2.2
so vai ter php e mysql (pouquissimo provavel que venha a ter outros seviços nele).
obrigado!
não precisa mexer em nada..
mantenha tudo default
nao precisa nem mesmo ativar o prefork ou mpm.
além do mais será um aplicativo local certo ? somente 50 estações aproximadatamente ?
pode ficar tranquilo.
Quanto ao MySQL, é bom configurá-lo no "my.ini".. coloque uma configuração do tipo
"huge". Nos arquivos de instalação do mysql tem exemplos de setagens, basta copiar e adaptar conforme o seu caso.
Caso queira saber amis, consulte o forum MySQL e linux também.
hinon, muito bmo seu post.
Mas estou com um problema e não consigo resolver. Preciso configurar o apache para que suporte cerca de 300 usuários simultâneos.
Tentei diversas configurações, inclusive as que você citou no post. Mas sempre que o apache chega a consumir 1Gb RAM, o processamento para e o apache fica sem responder.
Tem alguma sugestão para esse caso?
Obrigado desde já.
Detalhando melhor o problema:
Estou utilizando o jMeter para realizar os testes. O problema ocorre quando simulo aproximadamente 100 usuários simultâneos. O apache passa a consumir quase 1Gb RAM, e em seguida para de processar e a URL passa a não responder mais. Estou enviando abaixo um print screen do gerenciador de tarefas.
O servidor é um Intel Xeon 2.13GHz / 8Gb RAM / Win Server 2008 64bits.
/applications/core/interface/imageproxy/imageproxy.php?img=http://i48.tinypic.com/2mn5a9t.png&key=6433371761bbf833771cd17359682923062487f32d0f77a34c41a1c581a55acf" alt="Imagem Postada" />
Alguém sabe o que pode ser?
Obrigado desde já.
Muito bom hinom, gostei, me serviu.