Brotli no Nginx: Compressão com Critério

Ilustração técnica sobre Brotli no Nginx: Compressão com Critério
Ilustração original sobre compressão de respostas HTTP no proxy em uma VPS.

Resposta Rápida / TL;DR

A recomendação é começar pelo plano VPS Brasil Básico (4 GB, 4 vCPUs, 100 GB NVMe, R$99/mês) e validar o fluxo real com curl -sI -H 'Accept-Encoding: br' https://app.exemplo.com. O tamanho correto depende de dados, concorrência e retenção; os comandos abaixo mostram como medir sem inventar uma métrica que não foi coletada.

Pontos principais

  • Comece com VPS Brasil Básico e confirme o consumo no ambiente real.
  • Mantenha as camadas internas fora da internet; neste cenário, 80/443 no Nginx é o escopo a revisar.
  • Use uma evidência reproduzível e declare o que não foi medido.
  • Faça backup e ensaie rollback antes do corte.
Índice do artigo

    Resposta rápida: A recomendação é começar pelo plano VPS Brasil Básico (4 GB, 4 vCPUs, 100 GB NVMe, R$99/mês) e validar o fluxo real com curl -sI -H 'Accept-Encoding: br' https://app.exemplo.com. O tamanho correto depende de dados, concorrência e retenção; os comandos abaixo mostram como medir sem inventar uma métrica que não foi coletada.

    Brotli no Nginx funciona melhor quando você separa o serviço público da operação interna: neste roteiro, o ponto de partida é uma VPS com 4 GB de RAM, 4 vCPUs e 100 GB NVMe para o cenário indicado. A primeira verificação usa curl -sI -H 'Accept-Encoding: br' https://app.exemplo.com e o objetivo é deixar claro o que pode ser afirmado, o que precisa ser medido e como voltar atrás. O conteúdo é para equipes pequenas e profissionais de infraestrutura e não apresenta teste executado na infraestrutura do leitor como resultado garantido.

    O que este cenário resolve

    Usar compressão para texto sem esquecer cpu, tipo mime, cache e respostas já comprimidas. A decisão central é tratar compressão de respostas HTTP no proxy como uma operação completa: aplicação, dados, identidade, logs, atualização e recuperação precisam ter responsáveis e sinais observáveis.

    A pergunta operacional

    Antes de instalar, escreva qual pergunta você quer responder. Em um proxy que envia Brotli corretamente para alguns clientes, mas perde cache por variar incorretamente o encoding, não basta saber que o processo subiu: você precisa verificar o caminho que o usuário ou o operador realmente usará. Isso evita transformar um painel carregado, um handshake recente ou um backup verde em prova de saúde completa.

    O que fica fora do escopo

    Este artigo não promete latência, disponibilidade, throughput ou taxa de entrega sem medição local. Versões, plugins, tamanho dos dados, regras de rede e padrão de uso mudam o resultado. Use o procedimento como base, registre as saídas e só então ajuste o plano ou a configuração.

    Recursos, portas e plano inicial

    Para o recorte deste guia, o ponto inicial é o VPS Brasil Básico, com 4 GB, 4 vCPUs, 100 GB NVMe e preço de catálogo de R$99/mês. A porta ou portas relevantes são 80/443 no Nginx. Esses valores descrevem o catálogo e o desenho do laboratório; não são um benchmark do serviço.

    O que medir no host

    Registre RAM disponível, uso de CPU, espaço e inodes, processos, conexões e I/O antes e durante a operação. Para compressão de respostas HTTP no proxy, a medida mais útil é a que aparece na jornada central: fila e worker, consulta e restauração, resposta HTTP, rota privada ou evento de auditoria. Um número isolado não explica uma degradação.

    Quando subir de plano

    Considere o VPS Brasil Performance quando o conjunto pedir 12 GB e 6 vCPUs por causa de múltiplos serviços, dados persistentes ou tarefas concorrentes; o catálogo informa 150 GB NVMe e R$169/mês. O VPS Brasil Ultra oferece 20 GB, 8 vCPUs e 200 GB NVMe por R$269/mês. A troca deve seguir métricas e um plano de janela, não uma promessa genérica.

    Comparação de escolhas

    A comparação abaixo reduz uma decisão ampla a quatro camadas. Em compressão de respostas HTTP no proxy, a opção mais simples pode ser correta para um laboratório, mas a operação comercial exige atenção a persistência, acesso, evidência e retorno.

    CamadaFunçãoDecisãoCuidado
    Brotlitexto modernoboa compressãorequer suporte
    Gzipcompatibilidadeamplo suporteajustar nível
    Sem compressãobinário/imagemevita custonão aplicar em tudo
    Varynegociaçãocache corretovalidar cabeçalho

    Passo a passo verificável

    Execute uma etapa por vez e guarde a saída com data, versão, host e contexto. O comando de referência é curl -sI -H 'Accept-Encoding: br' https://app.exemplo.com, mas o critério de sucesso é o fluxo completo, não o fato de o comando existir.

    1. Liste MIME types, tamanhos e clientes suportados; não comprima imagens já otimizadas.
    2. Ative módulo e níveis moderados, valide configuração e preserve Vary: Accept-Encoding.
    3. Compare tamanho, tempo e uso de CPU no ambiente real; se não medir, descreva apenas o procedimento.

    1. Prepare o ambiente

    Liste MIME types, tamanhos e clientes suportados; não comprima imagens já otimizadas.

    nginx -V 2>&1 | tr ' ' '
    ' | grep brotli
    sudo nginx -t

    2. Aplique a configuração

    Ative módulo e níveis moderados, valide configuração e preserve Vary: Accept-Encoding.

    curl -sI -H 'Accept-Encoding: br' https://app.exemplo.com/arquivo.css
    curl -sI -H 'Accept-Encoding: gzip' https://app.exemplo.com/arquivo.css

    3. Valide e registre

    Compare tamanho, tempo e uso de CPU no ambiente real; se não medir, descreva apenas o procedimento.

    curl -sS -o /dev/null -w 'size=%{size_download} total=%{time_total}s\n' https://app.exemplo.com/

    Erros comuns e como evitá-los

    Erros operacionais quase sempre aparecem na fronteira entre camadas. Revise estes pontos antes de considerar o trabalho concluído:

    Comprimir jpeg, png ou zip novamente

    Evite comprimir JPEG, PNG ou ZIP novamente. Primeiro reduza a superfície exposta e confirme a rota de administração. Um serviço pode continuar funcionando em loopback ou rede privada sem uma porta pública adicional.

    Usar nível alto sem medir cpu

    Não usar nível alto sem medir CPU. Persistência, cópia independente e restauração são controles diferentes. Registre o arquivo, volume ou destino que realmente contém a informação necessária.

    Remover vary e servir encoding errado

    Também não remover Vary e servir encoding errado. Faça a mudança com versão, janela, healthcheck e retorno documentado. Se houver migração irreversível, trate isso como uma decisão separada.

    Concluir que compressão corrige uma origem lenta

    Por fim, não concluir que compressão corrige uma origem lenta. A validação deve representar o uso real, incluindo falha, reinício, permissão e dependência. Caso contrário, você só confirmou que o processo iniciou.

    Practical evidence, limites e rollback

    A evidência deste roteiro é uma procedimento reprodutível: ambiente Linux, comandos explícitos, versões e dados devem ser registrados por quem executar o teste. O resultado a observar em compressão de respostas HTTP no proxy é o estado de cada etapa, a saída do comando e a resposta do fluxo central. Este lote não executou esses comandos na VPS do leitor, portanto não transforma o procedimento em medição de desempenho.

    Antes de uma mudança, copie configuração e dados de forma recuperável. Depois, compare o estado esperado com o estado observado e preserve o último release ou dump válido. Se algo falhar, interrompa, restaure o componente anterior quando isso for seguro e reexecute o healthcheck. Não apague evidências durante o diagnóstico.

    Checklist de aceite

    Confirme nome e versão do software, portas públicas, permissões, volumes, espaço, logs, backup e caminho de recuperação. Registre o horário e o operador. Um checklist curto, repetível e ligado ao cenário é mais útil que uma promessa de disponibilidade sem método.

    Perguntas relacionadas

    Estas respostas condensam as dúvidas que normalmente aparecem antes do corte e apontam para a verificação que falta em cada uma.

    Brotli no Nginx funciona em uma VPS pequena?

    Pode funcionar para um cenário enxuto, mas a decisão depende de RAM, CPU, armazenamento, concorrência e dependências. Comece com o plano VPS Brasil Básico e valide o fluxo real antes de ampliar.

    Qual porta deve ficar pública?

    Somente a porta necessária para o usuário ou túnel. Neste cenário, as portas relevantes são 80/443 no Nginx; componentes administrativos, bancos e filas devem ficar em loopback, VPN ou rede privada quando possível.

    Como comprovar que a configuração funcionou?

    Combine curl -sI -H 'Accept-Encoding: br' https://app.exemplo.com, logs e um teste de jornada. Registre status, versão, tempo, permissões e resultado. Um processo ativo isoladamente não comprova que a integração, os dados ou o rollback estão corretos.

    Quando devo fazer upgrade?

    Quando a medição mostrar pressão persistente, fila crescendo, OOM, I/O ou falta de margem para manutenção. Compare com o VPS Brasil Performance ou o VPS Brasil Ultra usando os recursos de catálogo, sem tratar preço como prova de desempenho.

    Próximo passo

    Se o seu cenário cabe no recorte deste artigo, o próximo passo é provisionar o VPS Brasil Básico (4 GB, 4 vCPUs, 100 GB NVMe, R$99/mês), executar o checklist em staging e registrar o resultado antes do corte. Conheça o VPS Brasil Básico e escolha a capacidade pelo uso observado.

    Experiência prática

    O que foi testado na prática

    Os dados abaixo representam o teste ou material fornecido para este artigo. Quando não houver evidência própria, esta seção não é exibida.

    Ambiente:
    Linux em VPS; cenário de compressão de respostas HTTP no proxy; plano de referência VPS Brasil Básico com 4 GB, 4 vCPUs e 100 GB NVMe; versões devem ser registradas no momento do teste.
    Limitação:
    O procedimento não prova disponibilidade, latência, throughput ou compatibilidade universal; o resultado depende do ambiente, dados, versão e política de rede.

    FAQ: perguntas frequentes

    Brotli no Nginx funciona em uma VPS pequena?

    Pode funcionar para um cenário enxuto, mas a decisão depende de RAM, CPU, armazenamento, concorrência e dependências. Comece com o plano VPS Brasil Básico e valide o fluxo real antes de ampliar. Em produção, registre a versão, o ambiente, as permissões e a saída do teste; esse contexto é necessário para repetir o diagnóstico e decidir o próximo passo com segurança.

    Qual porta deve ficar pública?

    Somente a porta necessária para o usuário ou túnel. Neste cenário, as portas relevantes são 80/443 no Nginx; componentes administrativos, bancos e filas devem ficar em loopback, VPN ou rede privada quando possível. Em produção, registre a versão, o ambiente, as permissões e a saída do teste; esse contexto é necessário para repetir o diagnóstico e decidir o próximo passo com segurança.

    Como comprovar que a configuração funcionou?

    Combine curl -sI -H 'Accept-Encoding: br' https://app.exemplo.com, logs e um teste de jornada. Registre status, versão, tempo, permissões e resultado. Um processo ativo isoladamente não comprova que a integração, os dados ou o rollback estão corretos. Em produção, registre a versão, o ambiente, as permissões e a saída do teste; esse contexto é necessário para repetir o diagnóstico e decidir o próximo passo com segurança.

    Quando devo fazer upgrade?

    Quando a medição mostrar pressão persistente, fila crescendo, OOM, I/O ou falta de margem para manutenção. Compare com o VPS Brasil Performance ou o VPS Brasil Ultra usando os recursos de catálogo, sem tratar preço como prova de desempenho. Em produção, registre a versão, o ambiente, as permissões e a saída do teste; esse contexto é necessário para repetir o diagnóstico e decidir o próximo passo com segurança.

    Posso copiar os comandos diretamente?

    Use os blocos como modelos. Substitua domínios, IPs, usuários, caminhos, tokens e nomes de volume; valide cada linha e faça backup antes de aplicar em produção. Registre a versão da ferramenta e o resultado de cada comando para que outra pessoa consiga revisar e repetir a alteração com segurança.

    O artigo apresenta benchmark?

    Não. O conteúdo oferece um procedimento reproduzível e usa especificações de catálogo quando necessário. Latência, throughput, uso de memória e taxa de entrega devem ser medidos no ambiente que receberá a carga. Guarde a configuração, o horário, o tamanho dos dados e as condições do teste antes de comparar resultados.

    O que devo documentar depois do teste?

    Registre data, versão, plano, configuração, comandos, saída relevante, origem do teste, falhas, correção e critério de aceite. Isso permite repetir o diagnóstico sem depender de memória. Inclua também portas, permissões, volumes, logs consultados e o nome da última cópia recuperável.

    Qual é o retorno se a mudança falhar?

    Pare a mudança, preserve logs e restaure o último estado conhecido quando o retorno for seguro. Para dados, use a cópia ou o dump testado; para configuração, mantenha a versão anterior e um acesso de recuperação. Depois, registre a causa provável e repita em staging antes de tentar novamente.

    Comentários (9)

    André Vieira

    Sempre tive problemas com instabilidade no servidor até ler este artigo. Segui passo a passo e agora está rodando perfeitamente há 3 semanas sem restart.

    Lucas Oliveira

    A latência para o Brasil ficou excelente depois que migramos para a VPS local. O tutorial de configuração de rede e MTU foi direto ao ponto.

    Fernanda Costa

    Muito bom o passo a passo de particionamento e disco NVMe. O throughput do I/O subiu consideravelmente nos nossos testes de benchmark.

    João Alves - Infra Cloud

    Implementei essas configurações no VPS da minha empresa e reduziu nosso custo com cloud em 40%. O artigo está muito bem explicado, parabéns!

    Leonardo Alves

    Excelente artigo! Como sysadmin, confirmo que essas configurações realmente fazem diferença. Só gostaria de adicionar que o ajuste do swappiness também ajuda muito no uso de memória.

    Patrícia Oliveira

    Artigo muito bem escrito e explicativo! Já compartilhei com toda a equipe da empresa.

    João Silva - Dev Team

    Como profissional da área, posso confirmar que essas práticas realmente fazem diferença no dia a dia. Será que isso funciona também com [tecnologia relacionada]?

    Maria Ferreira

    Excelente conteúdo! Aprendi conceitos que não encontrava em outros lugares em português.

    João Alves

    Implementei essas ideias no meu projeto e os resultados foram impressionantes. Obrigado pelo conhecimento compartilhado!

    ← Voltar para o blog