O Tiago Albineli, da Globo.com, mostrou como configurar o NGINX para alto desempenho e escalabilidade. Vamos aos detalhes:
- Benchmarks mostram que o NGINX é muito mais rápido que o Apache para sites com alto volume de acessos, a partir de dezenas de milhares de acessos simultâneos;
- Sites são divididosem trẽs tipos: conteúdo estático, dinâmico, e do usuário. Foco da apresentação foi em sites dinâmicos;
- Por que não fazer estático (mais fácil de escalar) ?
- Problema na atualização de informações, bugs, e outras dificuldades decorrentes da alteração dos dados e necessidade de regerar a página estática;
- Sites dinâmicos: tempo de resposta maior, sobrecarga no servidor, enfileiramento e consultas desnecessárias são questões problemáticas que precisam ser tratadas;
- Escalabilidade
- Básico: cache. Opção proxy_ignore_headers permite ignorar cabeçalhos que evitam uso do cache, aumentando sua eficiência;
- Acessos simultâneos podem fazer com que objetos não sejam obtidos do cache, e/ou sejam armazenados múltiplas vezes;
- Problema do flood de timeouts, onde consultas para objetos que demoram a ser retornados causam efeito cumulativo que degrada muito o desempenho;
- Simular acessos simultâneos: Apache Benchmark;
- Solução de alta escalabilidade
- Vários NGINX com balanceamento, e agrupados em conjuntos de 2 servidores "em série", para resolver o problema do flood de timeouts.
A palestra do Tiago foi muito técnica, ele mostrou vários exemplos de configuração do NGINX e comentou os diversos problemas enfrentados para escalar sites muito acessados, indicando as soluções e propondo uma arquitetura para alto desempenho e escalabilidade. Tentarei atualizar aqui quando a palestra estiver disponível, pois muitas informações não tive condições de tomar nota.
Nenhum comentário:
Postar um comentário