Qual é o tamanho mínimo recomendado do objeto para os benefícios de desempenho do gzip?


31

Estou trabalhando para melhorar o tempo de exibição da velocidade da página e um dos métodos é compactar o conteúdo do servidor da web.

O Google recomenda :

Observe que o gzipping é benéfico apenas para recursos maiores. Devido à sobrecarga e latência da compactação e descompactação, você deve compactar apenas os arquivos acima de um determinado limite de tamanho; recomendamos um intervalo mínimo entre 150 e 1000 bytes. Gzipping arquivos abaixo de 150 bytes pode realmente torná-los maiores.

Servimos nosso conteúdo através da Akamai , usando sua rede para proxy e CDN. O que eles me disseram:

Seguindo sua pergunta sobre qual é o tamanho mínimo, a Akamai comprimirá o objeto solicitado ao enviá-lo ao usuário final: O tamanho mínimo é 860 bytes.

A minha resposta:

Qual é o motivo pelo qual o tamanho mínimo da Akamai é 860 bytes? E por que, por exemplo, esse não é o caso dos arquivos que a Akamai serve para o Facebook? ( veja abaixo ) O Google recomenda compactar mais agressivamente. E isso parece apropriado em nosso site, onde os hits mais frequentes, de longe, são chamadas AJAX com <860 bytes.Captura de tela dos cabeçalhos do Facebook contestando a declaração da Akamai

Resposta da Akamai:

O motivo pelo qual 860 bytes é o tamanho mínimo para compactação é duplo: (1) A sobrecarga de compactar um objeto com menos de 860 bytes supera o ganho de desempenho. (2) Objetos com menos de 860 bytes podem ser transmitidos por meio de um único pacote, portanto, não há um motivo convincente para compactá-los.

Então, eu estou aqui para checar alguns fatos. O limite de 860 bytes é devido ao tamanho do pacote no final desse raciocínio? Por que sites de alto tráfego levariam isso para o limite de 150 bytes ... apenas para economizar nos custos de largura de banda (uma vez que as CDNs baseiam suas cobranças na largura de banda descarregada da origem) ou há um ganho de desempenho ao fazê-lo?


9/9/12 Atualização: perguntei a Steve Souders se havia um ganho de desempenho nas respostas de gzipping que já são menores que um pacote e qual é o tamanho mínimo recomendado para os benefícios de desempenho de gzip, e esta é a resposta dele:

Obrigado pelo seu email. O tamanho está entre 1 e 5K. O Apache tem um padrão, mas eu esqueço o que é - isso seria um bom guia.

Como fazemos nossa compactação em um dispositivo F5, vamos reduzi-lo para ~ 350 bytes, pois há uma quantidade razoável de chamadas AJAX entre isso e 1K. As chamadas AJAX com menos de 350 bytes em nosso site caem em torno de 70 bytes ... menos que as recomendações do Google ... então parece realmente voltar a: conhecer o seu site e ajustar com base no seu código .

Voltarei a este post depois que a atualização F5 for executada na Produção por um tempo. Acho que haverá pouco benefício em termos de desempenho, mas reduziremos um pouco os custos da Akamai, pois eles estão servindo menos.


@ Steve, em relação à edição de abril, adicionei welp para esclarecer o sentimento, pois o especialista na resposta desse campo não respondeu a nenhuma das perguntas. Fiquei encantado ao receber uma resposta do Sr. Sounders, mas ele também não sabia uma resposta definitiva.
utt73

Quanto a "voltar a este post depois que a atualização F5 for executada na produção por um tempo ", embora eu não trabalhe mais com esse aplicativo Web em particular, obtivemos êxito em nosso objetivo de obter o evento load () médio da página e o Tempo para Interativo (TTI) abaixo de 2 segundos, e essa redução no esforço de carga útil foi uma pequena parte disso. A redução do número de chamadas de tráfego http, a expansão do cache do navegador, a otimização do código e outras práticas recomendadas de desempenho da Web contribuíram.
utt73

Respostas:


3

Você está falando sobre os benefícios dos custos de largura de banda, mas também comparando o desempenho do carregamento da página em um navegador. São duas coisas diferentes.

Sempre que você compactar um pedido com um zíper, algo precisa realmente fazer a compactação (no seu caso, o F5) e o cliente (ou proxies tecnicamente) precisa lidar com a descompactação. Isso pode adicionar mais latência à sua solicitação, dependendo da capacidade do hardware nas duas extremidades.

O "tamanho mínimo para o gzip" é baseado no tempo necessário para compactar / descompactar esses pequenos dados que não são úteis do ponto de vista da experiência do navegador da web. Se você está falando puramente de economia de largura de banda, vá em frente e defina o mínimo mais baixo que gostaria, mas faça isso sabendo que pode não estar oferecendo aos usuários finais ganhos de desempenho.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.