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.
Tópicos
- Especificando por quanto tempo seus objetos são armazenados em CloudFront cache
- Usar o Origin Shield
- Armazenar em cache com base em parâmetros de string de consulta
- Armazenar em cache com base nos valores dos cookies
- Armazenar 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
- Fornecer conteúdo de mídia usando HTTP
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-agemax-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émparameter1=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 justA
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¶meter2=b
e outra solicitação do mesmo objeto contiverparameter2=b¶meter1=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:
-
Como CloudFront processa e encaminha solicitações para seu servidor de origem do Amazon S3 > Cabeçalhos de solicitação HTTP que CloudFront removem ou atualizam
-
Como CloudFront processa e encaminha solicitações para seu servidor de origem personalizado > Cabeçalhos e CloudFront comportamento da solicitação HTTP (origens personalizadas e do Amazon S3)
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çalhoCloudFront-Is-Tablet-Viewer
, não oCloudFront-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.