Configurando CentOS para tráfego intenso

Configurando CentOS para tráfego intenso

Novo administrador de sistema aqui, gerenciando um servidor CentOS. A semana que passou foi uma das semanas mais emocionantes da minha carreira e cheia de aprendizado de todo tipo de coisas novas. Hoje tenho outra tarefa: garantir que nosso servidor possa lidar com mais do que nossa antiga hospedagem compartilhada era capaz.

Estávamos originalmente limitados a 200 conexões simultâneas em nossa hospedagem compartilhada GoDaddy. Eventualmente, superamos isso (geralmente durante campanhas/eventos de marketing) e mudamos para um Servidor Virtual Dedicado. Estou assumindo que o número de conexões seria tratado pelo Apache.

Quais configurações devo ter em mente para permitir mais tráfego?

Responder1

Você está falando apenas sobre servir páginas da Web estáticas? Se você possui algum tipo de back-end programático, há uma série de respostas diferentes para isso, mas para o Apache é definitivamente o modelo de processo e o número de processos/threads permitidos. Você também deseja ler os guias gerais de ajuste do UNIX Apache e certificar-se de ter processos adequados por usuário e arquivos abertos (ulimit -n e -u mostram isso; defina usando nproc e nofile em /etc/security/limits.conf e ative isso por adicionando "sessão necessária /lib/security/pam_limits.so" em /etc/pam.d/login).

No Apache mais antigo, você sempre usa o modelo "prefork", que gera um processo separado por thread - essa é a configuração antiga do MaxClients. Se você estiver usando vários módulos e outros enfeites, 200-250 processos Apache podem facilmente preencher uma máquina que possui apenas uma quantidade modesta de RAM. Certifique-se de estar usando o Apache mais recente e o MPM "worker" que usa um modelo de threading diferente, você obterá um pouco mais por servidor (requer mais algumas configurações para ajustar isso).

Se você precisar de escalabilidade extrema, faça a transição para o nginx ou algo semelhante no Apache. Mas se o cenário for apenas "um pouco mais de 200", o Apache está bem.

Certifique-se de definir seu tempo limite para algo razoavelmente baixo, a menos que você esteja servindo arquivos grandes, como 30 ou mais.

Use compactação e cache.

Responder2

Além disso, como você atingirá uma carga maior, pode ser necessário ajustar as configurações do firewall do Linux, especialmente o módulo conntack. Existem alguns artigos disponíveis na Internet, o meu está aqui:http://timanovsky.wordpress.com/2009/04/10/tuning-linux-firewall-connection-tracker-ip_conntrack/

informação relacionada