O que é o Varnish e como você pode usá-lo para melhorar o desempenho do HTTP?
Absolutamente todo usuário que se depara com o desenvolvimento de sites e aplicativos entende que, no mundo moderno das tecnologias da Internet, o desempenho do projeto é um fator crítico. As páginas de carregamento rápido não apenas melhoram a experiência do usuário, mas também aumentam a classificação de SEO do site. Isso também tem um grande efeito sobre a dinâmica do crescimento dos lucros de seu projeto. Uma das ferramentas que podem melhorar significativamente o desempenho das solicitações HTTP é o Varnish Cache. O objetivo deste artigo é considerar os benefícios do uso do Varnish e como ele pode ser útil para você. A primeira coisa a mencionar é que o Varnish é um acelerador HTTP de alto desempenho usado para armazenar em cache o conteúdo do site. Sua função é se instalar na frente do servidor da Web e processar as solicitações dos clientes, retornando cópias em cache das páginas em vez de entrar em contato com o servidor da Web todas as vezes. Isso reduz significativamente a carga no servidor e acelera o processamento das solicitações. Ou seja, essa ferramenta realmente acelera, às vezes até várias vezes, o trabalho do seu servidor.
Como instalar e gerenciar o Varnish
Os métodos de instalação dependem do sistema operacional específico; neste guia, o foco é o Ubuntu 22.04. O Varnish pode ser instalado usando o seguinte comando:
apt install varnish
Depois de instalar o Varnish com sucesso, você precisa configurá-lo para funcionar com seu servidor Web. Por padrão, o Varnish escuta na porta 6081. Você pode alterar a configuração no arquivo
/etc/varnish/default.vcl.
Por exemplo, ele pode ter a seguinte aparência se você decidir alterar a porta (por exemplo, a porta http-alt )
backend default {
.host = "127.0.0.1";
.porta = "8080";
Exemplo de trabalho com o Varnish
Há diversas variações para trabalhar com o Varnish. Por exemplo, você precisa configurar o tempo de vida do cache (TTL) e pode configurá-lo de acordo com o tipo de conteúdo. Por exemplo, para um site de notícias, você pode definir um tempo de vida do cache curto para notícias atuais e um tempo maior para notícias arquivadas e materiais não tão atuais.
sub vcl_backend_response {
if (bereq.url ~ "^/news") {
set beresp.ttl = 2m;
} else {
set beresp.ttl = 72h;
}
}
Como você pode usá-lo para melhorar o desempenho do HTTP?
Há vários benefícios importantes que os usuários podem obter ao usar o Varnish para melhorar o desempenho HTTP. Alguns deles estão listados abaixo:
- Anonimização. Os usuários da Internet geralmente experimentam o processo de verificação de um nome de domínio. Isso pode indicar um proxy reverso, que obterá informações sobre o servidor proxy e não sobre o servidor da Web real por trás dele.
- Segurança. Um site protegido por um proxy reverso pode evitar ataques mal-intencionados com mais facilidade. Isso ajudará a manter o site funcionando sem problemas, sem causar nenhum prejuízo aos seus clientes.
- Download de SSL ou encerramento de SSL. Um proxy reverso pode aceitar todas as solicitações HTTPS e executar um handshake SSL com o navegador do usuário. Essas solicitações são então convertidas em HTTP e enviadas para o servidor da Web. Isso libera seu servidor do handshake SSL e ele pode cuidar de outras atividades importantes (como o download do restante do conteúdo da página da Web);
- E, por fim, o armazenamento em cache! Se você permitir que um proxy reverso armazene temporariamente conteúdo estático em suas páginas, ele será processado sempre que uma nova solicitação for feita a ele: não haverá ida e volta para o servidor original e suas páginas serão carregadas mais rapidamente.