Aumentar a proporção de solicitações que são atendidas diretamente dos CloudFront caches (taxa de acertos do cache) - Amazon CloudFront

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Aumentar a proporção de solicitações que são atendidas diretamente dos CloudFront caches (taxa de acertos do cache)

Você pode melhorar o desempenho aumentando a proporção das solicitações do espectador que são atendidas diretamente do CloudFront cache, em vez de ir aos servidores de origem para obter conteúdo. Isso é conhecido como melhorar a taxa de acertos de cache.

As seções a seguir explicam como melhorar sua taxa de acertos do cache.

Especificando por quanto tempo seus objetos são armazenados em CloudFront cache

Para aumentar sua taxa de acertos do cache, é possível configurar sua origem para adicionar uma diretiva Cache-Control max-age aos seus objetos e especificar o maior valor prático para max-age. Quanto menor a duração do cache, mais frequentemente CloudFront envia solicitações à sua origem para determinar se um objeto foi alterado e obter a versão mais recente. Você pode complementar max-age com as diretivas stale-while-revalidate e stale-if-error para melhorar ainda mais a taxa de acerto do cache sob certas condições. Para ter mais informações, consulte Gerenciar o tempo de permanência do conteúdo no cache (expiração).

Usar o Origin Shield

CloudFront O Origin Shield pode ajudar a melhorar a taxa de acertos do cache de sua CloudFront distribuição, pois fornece uma camada adicional de cache na frente da sua origem. Quando você usa o Origin Shield, todas as solicitações CloudFront de todas as camadas de cache para sua origem vêm de um único local. CloudFront pode recuperar cada objeto usando uma única solicitação de origem do Origin Shield, e todas as outras camadas do CloudFront cache (localizações de borda e caches de borda regionais) podem recuperar o objeto do Origin Shield.

Para ter mais informações, consulte Usando o Amazon CloudFront Origin Shield.

Armazenar em cache com base em parâmetros de string de consulta

Se você configurar CloudFront para armazenar em cache com base nos parâmetros da sequência de caracteres de consulta, poderá melhorar o armazenamento em cache se fizer o seguinte:

  • Configure CloudFront para encaminhar somente os parâmetros da sequência de caracteres de consulta para os quais sua origem retornará objetos exclusivos.

  • Usar as mesmas letras (maiúsculas e minúsculas) para todas as instâncias do mesmo parâmetro. Por exemplo, se uma solicitação contém parameter1=A e outra contémparameter1=a, CloudFront encaminha solicitações separadas para sua origem quando uma solicitação contém parameter1=A e quando uma solicitação contémparameter1=a. CloudFront em seguida, armazena em cache separadamente os objetos correspondentes retornados por sua origem, mesmo que os objetos sejam idênticos. Se você usa just A ora, CloudFront encaminha menos solicitações para sua origem.

  • Indique os parâmetros na mesma ordem. Assim como ocorre com diferenças nas letras, se uma solicitação de um objeto contiver a query string parameter1=a&parameter2=b e outra solicitação do mesmo objeto contiver parameter2=b&parameter1=a, o CloudFront encaminhará as duas para sua origem e armazenará os objetos correspondentes separadamente, mesmo se eles forem idênticos. Se você sempre usar a mesma ordem para parâmetros, o CloudFront encaminhará menos solicitações para sua origem.

Para ter mais informações, consulte Armazenar em cache o conteúdo com base em parâmetros de string de consulta. Se você quiser revisar as sequências de caracteres de consulta que CloudFront encaminham para sua origem, consulte os valores na cs-uri-query coluna dos seus arquivos de CloudFront log. Para ter mais informações, consulte Configurar e usar logs padrão (logs de acesso).

Armazenar em cache com base nos valores dos cookies

Se você configurar CloudFront para armazenar em cache com base nos valores dos cookies, poderá melhorar o armazenamento em cache se fizer o seguinte:

  • Configure CloudFront para encaminhar somente os cookies especificados em vez de encaminhar todos os cookies. Para os cookies que você configura CloudFront para encaminhar para sua origem, CloudFront encaminha todas as combinações de nome e valor do cookie. Depois, armazenará separadamente em cache os objetos retornados pela origem, mesmo se todos forem idênticos.

    Por exemplo, suponha que os visualizadores incluam dois cookies em cada solicitação, que cada cookie tenha três valores possíveis e que todas as combinações de valores de cookies sejam possíveis. CloudFront encaminha até seis solicitações diferentes para sua origem para cada objeto. Se sua origem retornar versões diferentes de um objeto com base em apenas um dos cookies, estará encaminhando mais solicitações para sua origem do que o necessário e armazenando em cache desnecessariamente várias versões idênticas do objeto. CloudFront

  • Crie comportamentos de cache separados para conteúdo estático e dinâmico, e configure o CloudFront para encaminhar cookies para sua origem apenas para conteúdo dinâmico.

    Por exemplo, suponha que você tenha apenas um comportamento de cache para sua distribuição e que esteja usando a distribuição tanto para conteúdo dinâmico, como .js arquivos, quanto para .css arquivos que raramente mudam. CloudFront armazena em cache versões separadas de seus .css arquivos com base nos valores dos cookies, para que cada CloudFront ponto de presença encaminhe uma solicitação à sua origem para cada novo valor de cookie ou combinação de valores de cookie.

    Se você criar um comportamento de cache para o qual o padrão de caminho é *.css e para o qual CloudFront não é armazenado em cache com base nos valores dos cookies, CloudFront encaminha as solicitações de .css arquivos para sua origem somente para a primeira solicitação que um ponto de presença recebe para um determinado .css arquivo e para a primeira solicitação após a expiração do .css arquivo.

  • Se possível, crie comportamentos de cache separados para conteúdo dinâmico quando os valores de cookie forem exclusivos para cada usuário (como um ID de usuário) e que varie com base em um número menor de valores exclusivos.2

Para ter mais informações, consulte Armazenar conteúdo em cache com base em cookies. Se você quiser revisar os cookies que CloudFront encaminham para sua origem, veja os valores na cs(Cookie) coluna dos seus arquivos de CloudFront log. Para ter mais informações, consulte Configurar e usar logs padrão (logs de acesso).

Armazenar em cache com base nos cabeçalhos de solicitação

Se você configurar CloudFront para armazenar em cache com base nos cabeçalhos de solicitação, poderá melhorar o armazenamento em cache se fizer o seguinte:

  • Configure CloudFront para encaminhar e armazenar em cache com base somente em cabeçalhos especificados, em vez de encaminhar e armazenar em cache com base em todos os cabeçalhos. Para os cabeçalhos especificados, o CloudFront encaminhará todas as combinações de nome e valor do cabeçalho. Depois, armazenará separadamente em cache os objetos retornados pela origem, mesmo se todos forem idênticos.

    nota

    CloudFront sempre encaminha para sua origem os cabeçalhos especificados nos seguintes tópicos:

    Quando você configura CloudFront para armazenar em cache com base nos cabeçalhos da solicitação, você não altera os cabeçalhos que CloudFront encaminham, apenas se os objetos são armazenados em CloudFront cache com base nos valores do cabeçalho.

  • Tente evitar o armazenamento em cache com base nos cabeçalhos de solicitação com um grande número de valores exclusivos.

    Por exemplo, se você quiser exibir tamanhos diferentes de uma imagem com base no dispositivo do usuário, não configure CloudFront para armazenar em cache com base no User-Agent cabeçalho, que tem um número enorme de valores possíveis. Em vez disso, configure CloudFront para armazenar em cache com base nos cabeçalhos CloudFront do tipo de dispositivoCloudFront-Is-Desktop-Viewer,, e. CloudFront-Is-Mobile-Viewer CloudFront-Is-SmartTV-Viewer CloudFront-Is-Tablet-Viewer Além disso, se você estiver retornando a mesma versão da imagem para tablets e desktops, encaminhe somente o cabeçalho CloudFront-Is-Tablet-Viewer, não o CloudFront-Is-Desktop-Viewer.

Para ter mais informações, consulte Armazenar conteúdo em cache com base nos cabeçalhos de solicitação.

Remova o cabeçalho Accept-Encoding quando a compactação não for necessária

Se a compactação não estiver ativada, porque a origem não a suporta, CloudFront não oferece suporte ou o conteúdo não é compactável, você pode aumentar a taxa de acertos do cache associando um comportamento de cache em sua distribuição a uma origem que defina o seguinte: Custom Origin Header

  • Header name (Nome do cabeçalho: Accept-Encoding

  • Header value (Valor do cabeçalho): (mantenha em branco)

Quando você usa essa configuração, CloudFront remove o Accept-Encoding cabeçalho da chave de cache e não inclui o cabeçalho nas solicitações de origem. Essa configuração se aplica a todo o conteúdo que CloudFront serve com a distribuição dessa origem.

Fornecer conteúdo de mídia usando HTTP

Para obter informações sobre como otimizar o conteúdo de vídeo sob demanda (VOD) e de vídeo por streaming, consulte Vídeo sob demanda e streaming de vídeo ao vivo com CloudFront.