Visão Geral do Serviço Web Application Acceleration
Saiba mais sobre o serviço Web Application Acceleration e como gerenciar seus componentes.
O Web Application Acceleration é um serviço que pode acelerar o tráfego nos balanceadores de carga HTTP da camada 7, aplicando uma combinação de armazenamento em cache e compactação. Essa combinação de aprimoramentos de velocidade é configurada como uma política de aceleração de aplicativo web. A política inclui armazenamento em cache ou armazenamento em cache e compactação. Depois que a política de aceleração do aplicativo Web for criada, você designará a política a um balanceador de carga como um recurso de aceleração da política.
O serviço Web Application Acceleration está disponível gratuitamente para clientes regulares do Oracle Cloud Infrastructure. Ele não está disponível para usuários Free Tier.
Cada aceleração é uma vinculação da política a um balanceador de carga específico. Se você quisesse aplicar a mesma política de aceleração de aplicativo Web a vários balanceadores de carga, poderia criar um recurso de aceleração separado para cada balanceador de carga.
O Web Application Acceleration pode compactar os seguintes tipos de resposta:
-
application/atom+xml
-
application/geo+json
-
application/javascript
-
application/x-javascript
-
application/json
-
application/ld+json
-
application/manifest+json
-
application/rdf+xml
-
application/rss+xml
-
application/xhtml+xml
-
application/xml
-
font/eot
-
font/otf
-
font/ttf
-
image/svg+xml
-
text/css
-
text/html
-
text/javascript
-
text/plain
-
text/xml
-
A solicitação deve ter o cabeçalho
Accept-Encoding
para obter uma resposta compactada. -
Os valores de cabeçalho de resposta
Cache-Control
private
eno-store
desativam o armazenamento em cache do Web Application Acceleration.
Consulte Visão Geral do Balanceador de Carga para obter mais informações sobre balanceadores de carga.
O restante deste documento descreve os dois recursos associados a esta funcionalidade:
Gerencie esses recursos por meio da Console do OCI, da interface de linha de comando (CLI) ou da API.
Conceitos
Lista e descreve conceitos associados ao serviço Web Application Acceleration.
- Aceleração
- As acelerações são o que vinculam políticas de aceleração de aplicativos Web a balanceadores de carga. Ao anexar uma aceleração a uma política de aceleração de aplicativo web, você está designando um balanceador de carga a essa política, e as provisões da política são aplicadas às operações do balanceador de carga.
- Cache
-
Permite o armazenamento no cache no balanceador de carga para reduzir a latência e evitar maior carga nos servidores de backend.
- Expurgação de cache
-
Os caches de um ou mais balanceadores de carga que compreendem a aceleração são expurgados dos dados.
Observação
A expurgação do cache é uma ação irreversível.
- Compactação
-
A compactação é uma opção ao selecionar o armazenamento no cache. As compressões compactam as respostas do servidor de backend antes de retorná-las ao usuário do aplicativo Web para reduzir a quantidade de largura de banda necessária. Essa compactação acelera o trânsito das respostas do servidor pela rede. Atualmente, somente o algoritmo de compactação GZIP é suportado.
- Balanceadores de carga
- Os balanceadores de carga determinam o roteamento de tráfego. Você pode aprimorar o desempenho dos balanceadores de carga designando políticas de aceleração de aplicativos Web a eles por meio de acelerações.
- Política de aceleração do aplicativo web
- As políticas de aceleração de aplicativos Web definem os parâmetros para aplicar acelerações ao tráfego da Web usando armazenamento em cache e compactação.
Limitações de Armazenamento no Cache e de Compactação
O Web Application Acceleration é um serviço que pode acelerar o tráfego nos balanceadores de carga aplicando uma combinação de armazenamento em cache e compactação.
O cache e a compactação ocorrem para qualquer resposta 200 a uma solicitação GET ou HEAD menor que o tamanho máximo do cache. O armazenamento em cache e a compactação não ocorrem quando os seguintes cabeçalhos estão presentes:
-
Cache-Control: no-cache
-
Cache-Control: private
O armazenamento em cache e a compactação podem acelerar significativamente o tráfego dos balanceadores de carga. No entanto, o uso desses recursos tem as seguintes restrições:
-
Cache
-
Somente as solicitações HEAD e GET são armazenadas em cache.
-
Somente as respostas que retornam o código de status HTTP 200 são armazenadas em cache.
-
O conteúdo em cache pode não ficar atualizado com o conteúdo nos servidores submetidos a backup até que o cache expire ou seja expurgado.
-
O conteúdo é armazenado em cache até que expire ou seja expurgado mesmo que o arquivo seja removido do servidor de backend.
-
Os servidores de back-end podem obter um aumento drástico no tráfego quando ocorre um dos seguintes eventos:
-
Vários itens de cache expiram ao mesmo tempo.
-
O cache é expurgado.
- O serviço Web Application Acceleration está desativado.
-
-
O tamanho máximo do cache é de 100 MB. Depois que esse tamanho máximo for atingido, o serviço Web Application Acceleration removerá os recursos que foram acessados menos vezes até que o tamanho máximo não seja mais excedido.
Você não pode armazenar arquivos em cache com mais de 100 MB.
Observação
Você pode solicitar o aumento do tamanho do cache do serviço Web Application Acceleration. Consulte Solicitando um Aumento do Limite de Serviço para obter mais informações.
-
As respostas que retornam o cabeçalho Set-Cookie não são armazenadas em cache.
-
A Oracle recomenda que você não armazene em cache páginas dinâmicas porque elas podem vazar informações.
-
-
Compactação:
-
Se você desativar a compactação quando ela foi ativada anteriormente, os usuários de seus aplicativos Web poderão experimentar maior latência de solicitações à medida que seus downloads de dados aumentarem.
-
Por padrão, a resposta é armazenada em cache por 10 minutos. Você pode configurar o tempo de cache definindo um dos cabeçalhos de resposta de tempo de cache em resposta retornada pelo servidor de backend.
Os seguintes cabeçalhos de tempo de cache são suportados:
-
Cache-Control: Selecione as diretivas
max-age
ous-maxage
para definir o tempo de cache. Ambas as diretivas indicam quanto tempo, em segundos, a resposta é armazenada no cache. Por exemplo,Cache-Control: max-age=300
armazena em cache a resposta por 300 segundos. Se as diretivasmax-age
es-maxage
estiverem presentes,s-maxage
terá precedência. -
Expira: Especifique a data/hora após a qual a resposta é considerada expirada. Use somente o formato de data HTTP (RFC2616) para especificar a data/hora. Por exemplo,
Expires: Mon, 20 Feb 2023 12:45:26 GMT
armazena em cache a resposta até essa data. -
X-Accel-Expires: Especifique o tempo de armazenamento em cache de uma resposta em segundos. O valor zero (0) desativa o armazenamento em cache para uma resposta. Se o valor começar com o prefixo
@
, ele definirá um tempo absoluto em segundos desde a Época. O tempo de resposta é armazenado em cache até esse momento. Por exemplo,X-Accel-Expires: 300
armazena em cache a resposta por 300 segundos.X-Accel-Expires: @1676901818
armazena em cache a resposta até segunda-feira, 20 de fevereiro de 2023 14:03:38 GMT.
Configure o tempo de cache com base na vida útil esperada de uma resposta em cache. Se o conteúdo estático (imutável), configure o cache por um período prolongado de tempo. Se o conteúdo for alterado com frequência, configure o cache por um período menor. Para obter melhores resultados, armazene em cache o tempo de expiração para corresponder ao tempo de atualização de conteúdo.
Marcando Recursos
Se você não tiver certeza se deseja aplicar tags, peça orientação ao administrador.