Ir para o conteúdo
velocidade-desempenho-sites

O que é cache e qual a sua importância na hospedagem de sites?

Entenda o que é cache e como ele influencia no desempenho do seu site

O que é cache

Em tecnologia, mais precisamente em computação, a palavra “cache” é usada para se referir tanto a um componente físico quanto a um programa que tenha a função de armazenar dados temporariamente.

O objetivo do cache é agilizar os processos computacionais. Com ele, as informações que já foram acessadas e ficaram armazenadas em um sistema podem ser acessadas de forma rápida, quase instantânea, sem que precise de um novo processamento ou busca no banco de dados.

O cache é adotado em diversos tipos de dispositivos e ferramentas, incluindo smartphones, computadores pessoais, aplicativos, bancos de dados, discos rígidos, DNS, CDN e servidores.

Cache e hospedagem de sites

No caso de sites, o uso de cache poupa processamento e consultas aos bancos de dados, e são muito usados para conteúdos acessados com frequência. O cache é armazenado para que os clientes acessem esse conteúdo mais rapidamente, economizando tempo e uso desnecessário do hardware do servidor.

Nos sites, podemos usar caches pelo lado do servidor, caches pelo lado do website ou ambos. O cache pelo lado do servidor funciona fornecendo conteúdo estático, ou seja, que não sofre alterações. A maioria das imagens e dos vídeos são desse tipo de conteúdo. Assim, o servidor avisa ao navegador do cliente que não é preciso baixar certos conteúdos sempre que for feito o acesso: ele usa a mesma imagem várias vezes.

Já no caso do cache pelo lado do website, o software que gerencia este website salva o resultado de alguns conteúdos mais comuns. Assim, mesmo que outro cliente acesse a mesma página, esse resultado não será refeito, pois ele já está no cache.

A ideia é sempre diminuir o volume de dados enviados do servidor onde seu site está hospedado para o navegador do cliente. Menos dados resultam numa transmissão de dados mais curta, menos tráfego gerado, menos tempo consumido e economia de recursos do plano de hospedagem de site.

Como funciona o armazenamento em cache

Os dados em um cache geralmente são armazenados no hardware de acesso rápido, como uma Random-access memory (RAM – Memória de acesso aleatório), e também podem ser usados em paralelo com um componente de software. O cache serve para aumentar a performance da recuperação de dados ao reduzir a necessidade de acessar a camada mais lenta de armazenamento.

A substituição de capacidade por velocidade geralmente faz com que um cache armazene um subconjunto de dados de modo temporário, em comparação com bancos de dados, cujos dados são, de modo geral, completos e duráveis.

Armazenamento em cache na web

Ao entregar conteúdo da web para os seus espectadores, grande parte da latência envolvida na recuperação de ativos compostos de dados da web (como imagens, documentos HTML, vídeo etc.) pode ser bastante reduzida ao armazenar em cache esses artefatos e eliminar leituras de disco e a carga do servidor.

Várias técnicas de armazenamento em cache na web podem ser empregadas tanto no lado do servidor quanto do cliente. O armazenamento em cache na web no lado do servidor normalmente envolve a utilização de um proxy web que retém as respostas da web dos servidores web que estão dando suporte a ele, reduzindo efetivamente sua carga e latência. O armazenamento em cache na web, do lado do cliente, pode incluir o armazenamento cache baseado em navegador, que retém uma versão armazenada em cache do conteúdo da web visitado anteriormente.

O que é um proxy?

Numa rede de computadores, um proxy (que pode ser traduzido como “procurador”, ou “representante”), é um servidor – um computador dedicado ou uma aplicação que faz o papel de intermediário entre o(s) cliente(s) e outros servidores.

Quando um cliente quer acessar um conteúdo de um site, ele faz a solicitação de acesso ao proxy, que, por sua vez, faz a conexão com o servidor. Um proxy web, por exemplo, faz cache de requisições frequentes de páginas web dentro de uma rede de computadores. Ele tem um espaço em disco para armazenar essas requisições: caso outro usuário faça a solicitação do mesmo conteúdo posteriormente, o proxy web avalia se é necessário baixar para o seu cache uma nova cópia da página e entregá-la ou não. Isso traz incrementos no desempenho da rede como um todo.

Um proxy reverso é um servidor de rede que está instalado “na frente” de um ou mais servidores Web. Assim, todas as requisições feitas a esse servidor Web passam primeiro pelo proxy. Caso seja uma requisição que está no cache dele, esta será a que o servidor Web receberá. Caso não tenha, o proxy reverso encaminha a requisição ao servidor Web. Por exemplo, esse proxy reverso pode ser usado para balancear a carga de um conjunto de servidores Web e diminuir o tempo de acesso de sites.

Por que usar proxies reversos?

Há momentos em que nem os proxies Web, nem os plugins de cache do WordPress resolvem. Nessas horas é preciso melhorar o desempenho, e os proxies reversos são soluções bem aceitas, pelo lado da empresa de hospedagem.

Vamos ver alguns problemas que um plugin de cache para o Wordress pode ter, e o que um proxy reverso pode contornar:

  • Gargalo gerado pela otimização do site – quando mais usuários conectando-se ao site simultaneamente, mais o servidor terá que trabalhar, gerando versões estáticas do mesmo site para armazenar no cache gerado pelo plugin. No final das contas, o ganho de performance é bem pequeno em períodos de carga muito grande. E em contrapartida, o servidor terá uma sobrecarga maior.
  • Problemas com o sistema de arquivos – dependendo do sistema de arquivos usado no servidor, o plugin de cache é impactado de forma negativa. O desempenho cai quando tem que gravar/apagar/mudar muitos arquivos de uma vez. Logo, pode nem ter cache ou ter um cache mal-formado (com links quebrados, por exemplo). Um proxy reverso evita isso, pois os dados ficam armazenados na memória do servidor.
  • Incompatibilidade de plugins – devido às diferentes maneiras com as quais os dados podem ser remontados, é possível que alguns plugins de cache sejam incompatíveis. No caso do proxy reverso, apenas elementos individuais estão no cache. Assim, eles estarão compatíveis com plugins e conteúdo dinâmico.
  • Configurações no servidor Web – alguns plugins de cache necessitam de configurações específicas no servidor Web. Como o proxy reverso opera antes do servidor Web, não há necessidade de alterar essas configurações.
  • Compressão ineficiente – a maioria dos plugins compacta as páginas, para enviá-las ao navegador do usuário (o cliente). Mas ainda existem navegadores que não suportam esses algoritmos de compressão. É uma minoria bem pequena, mas existe. O proxy reverso pode entregar versões compactadas da página para os navegadores que suportam compressão e versões descompactadas para os navegadores que não suportam.
  • Tolerância às falhas – caso ocorra um problema no servidor Web, o proxy reverso continua entregando páginas para os usuários, o que permite que o administrador tenha tempo de consertar o problema e recolocar o servidor Web de volta no ar.

Varnish

O Varnish é um proxy reverso muito eficiente. Ele é capaz de acelerar o desempenho por um fator de 300 a 1000 vezes, dependendo da arquitetura de servidores. Diferente de outros proxies, como o Squid, o Varnish sempre teve por foco ser um proxy reverso do protocolo HTTP. Cerca de 5% dos 10 mil maiores sites da Internet o usam na infraestrutura. Entre eles, podemos citar: Wikipedia, Facebook, Twitter, Reddit, Vimeo, entre outros. Ele também é bem flexível, principalmente devido à sua linguagem de configuração, VCL, que permite escrever regras que determinam como as requisições de entrada serão tratadas. O Varnish permite que suas funcionalidades sejam estendidas com o uso de módulos (os VMODs), e tem integração com o WordPress.

O Varnish atende muito bem às necessidades por ele lidar de forma positiva com escalabilidade: o desempenho dele não cai, mesmo que haja mais usuários fazendo requisições. Existem também as vantagens que já citamos anteriormente, a respeito dos proxies reversos. O Varnish é uma solução sólida e eficiente, entre os proxies reversos, para diminuir o tempo de acesso dos sites.

Nginx

O Nginx (lê-se “engine X”) é um software que pode ser usado como servidor Web, proxy reverso ou cache. Ele é rápido, leve, seu código é aberto e tem possibilidades de configuração para melhor performance. Ele trabalha com o conceito de “event-based web server”, diferente do Apache (o servidor Web mais usado do mundo), baseado no conceito “process-based server”. Alguns dos sites que usam o Nginx são: a Wikipédia, o Facebook (algumas partes), o GitHub, o Hulu, Netflix, entre outros.

O Nginx tem algumas limitações, como não poder usar arquivos .htaccess. Os arquivos .htaccess são usados para configurações do próprio usuário, como limitar o acesso a um site, quais são as páginas de erro, URLs amigáveis, entre outros. Logo, o Nginx não tem suporte ao uso dos arquivos .htaccess.

Como proxy, o Nginx pode funcionar junto ao Apache. Ele opera em primeiro plano e todas as requisições Web passarão primeiro pelo Nginx. Assim, o Nginx funcionará como um proxy reverso, e os arquivos estáticos estarão com ele, deixando para o Apache o processamento de conteúdo dinâmico.

Conclusão: a vantagem da utilização de cache em um servidor

Destacamos várias vezes que o objetivo do cache é agilizar respostas e, consequentemente, otimizar processos. Ganhar velocidade é fundamental, assim como reduzir o uso de recursos do servidor – e isso acontece porque nem todas as requisições chegam ao servidor. Assim, o consumo de recursos, como memória e processamento, é reduzido. Esta é a grande vantagem!

Bônus: e-book gratuito sobre hospedagem de sites

Se você chegou até aqui e sentiu vontade de se aprofundar no assunto hospedagem de sites, fique à vontade para baixar nosso e-book gratuitamente.

Links Relacionados:

Provedor de hospedagem de sites X desempenho dos sites

Site lento: veja como otimizar e melhorar o desempenho

Hospedagem de Sites Hostnet

E-books grátis sobre tecnologia e marketing digital

Criação de Sites – A Hostnet faz para você

 

 

Deixe um Comentário





HOSPEDAGEM DE SITES

ESPECIALIZADA EM WORDPRESS

Mais Lidas

hospedagem wordpress

Combo Cloud: você paga pela hospedagem de site e recebe muito mais

guanabara

Cursos gratuitos de tecnologia e marketing digital oferecidos pela Hostnet e Curso em Vídeo

wordpress-cursos-gratis-hospedagem-sites-hostnet

Comunidade WordPress Hostnet reúne 20 mil profissionais e estudantes de tecnologia

hostcast-2

Assine nossos FEEDS

HOSPEDAGEM DE SITES PARA

PEQUENOS E GRANDES NEGÓCIOS

Aprenda a usar o potencial da Internet para lucrar

ebooks grátis

E-BOOKS SOBRE TECNOLOGIAS PARA SITES