#FISL 13: Escalando sites com o NGINX

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.
Curta nossa página no facebook!