Origem e edge numa CDN: HIT, MISS, BYPASS e para que serve o origin shield

Velocidade, Cache e CDN·· 14 visualizações· 4 min de leitura

A resposta curta: numa CDN há dois lados. A origem é o seu servidor de hospedagem, onde o site vive. Os servidores de edge são as máquinas da CDN espalhadas pelo mundo, perto dos visitantes. Cada pedido chega a um edge: se ele tem uma cópia fresca, responde logo (HIT); se não tem, vai buscá-la à origem (MISS), guarda-a e responde. A CDN diz-lhe o que aconteceu num cabeçalho da resposta, e lê-lo é a forma mais rápida de saber se ela está mesmo a trabalhar. Não vendemos CDN: o que aqui se explica vale para a CDN que escolher, numa conta sua, aberta directamente com esse fornecedor.

O que cada estado quer dizer

Estado O que aconteceu
HIT Entregue pelo edge, sem ir à origem. É o que se quer nos ficheiros estáticos.
MISS O edge não tinha cópia e foi à origem. Normal no primeiro pedido a cada edge e logo a seguir a uma purga.
EXPIRED ou REVALIDATED Havia cópia, mas o prazo tinha acabado. O edge perguntou à origem; se a origem respondeu 304 (não mudou), reaproveitou a cópia.
STALE ou UPDATING Entregou uma cópia vencida enquanto ia buscar uma nova, ou porque a origem não respondeu. Só acontece se a CDN e os cabeçalhos o permitirem (stale-while-revalidate, stale-if-error).
BYPASS Não usou a cache de propósito: uma regra, um cookie de sessão, ou a origem disse private ou no-store.
DYNAMIC, ou nenhum estado A CDN considerou a resposta não guardável, como acontece com o HTML em muitas CDN, por omissão.
O nome do cabeçalho Muda com o fornecedor: cf-cache-status, x-cache, x-cache-status, ou o cabeçalho normalizado Cache-Status. Os valores também variam: confirme na documentação da sua CDN.

Como saber o que a CDN está a fazer

1 Peça o mesmo ficheiro duas vezes com curl -sI https://www.asuaempresa.co.mz/caminho/do/ficheiro.css. A primeira pode dar MISS; a segunda, vinda do mesmo edge, deve dar HIT e trazer Age.
2 Separe a cache do servidor da cache da CDN. Os nossos servidores correm LiteSpeed: o cabeçalho x-litespeed-cache é da cache do servidor (do plugin), não da CDN. Pode ter HIT numa e MISS na outra, e são problemas diferentes.
3 Se fica sempre MISS, procure: um prazo zero ou no-cache vindo da origem, um Set-Cookie em ficheiros estáticos, um Vary demasiado largo, ou uma query string que muda a cada pedido e entra na chave da cache.
4 Lembre-se de que cada edge tem a sua cache. Com poucos visitantes espalhados por muitas regiões, muitos pedidos são o primeiro daquele edge, e o MISS é frequente sem haver nada de errado.
5 Se dá BYPASS, reveja as regras da CDN e os cookies que o site envia: cabeçalhos de cache explicados.
6 Meça o efeito no tempo de carregamento, e não só nos estados: testar se a CDN fez diferença.
Um HIT não garante que a resposta está certa. Se uma página de erro, de manutenção ou com a sessão de alguém ficou guardada, a CDN entrega-a a todos até o prazo acabar ou até purgar. E quando a origem cai, a CDN só esconde a falha para o que já tinha em cache; o resto dá erro, muitas vezes com uma página de erro da própria CDN. Veja o erro 503 e os outros 5xx.
O origin shield (ou cache em camadas) é uma camada intermédia: os edges pedem primeiro a um edge escolhido perto da origem, e só esse vai à origem. Há menos pedidos a chegar ao servidor, mais HIT, e a origem fica protegida do pico que vem depois de uma purga total. O nome muda de fornecedor para fornecedor, e pode ser uma opção paga: veja no painel da sua CDN.

Não percebe o que os cabeçalhos da CDN estão a dizer? Envie-nos o endereço e a resposta completa do curl -sI.

Abrir pedido de suporte

VEJA TAMBÉM

Cabeçalhos de cache explicados: Cache-Control, Expires, ETag e como uma CDN os lê

Purgar a cache de uma CDN: um ficheiro, uma pasta ou tudo, e quando não purgar

O que é uma CDN, e quando faz diferença (e quando não faz)

Site com CDN ou sem CDN: como testar se fez diferença

Erro 503, e os outros 5xx: o que são, e por onde se começa

Instalar e afinar uma cache de páginas

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 321,75 MT/mês (plano de 3 anos, com cupão)

Ver planos
Esta resposta foi útil? A sua resposta ajuda-nos a melhorar este artigo.