Requisitos: O HTTP agora adiciona um algoritmo de compressão Brotli para testar algoritmos Gzip e Brotli. Dependendo do projeto, apenas a velocidade de descompressão é testada no artigo.
Brotli tem12 níveis de compressão, de 0 a 11, onde 0 fornece a velocidade de compressão mais rápida, mas a menor taxa de compressão, enquanto 11 proporciona a maior taxa de compressão, mas exige mais recursos computacionais e tempo. Quando implementamos o Brotli pela primeira vez há 5 anos, determinamos que a compressão em 4 níveis proporcionava um equilíbrio entre economia de bytes e tempo de compressão sem comprometer o desempenho. Quanto maior o nível de compressão, menor o espaço de armazenamento, mas isso vende mais recursos de CPU e memória.
ASP.NET algoritmo Brotli já está incorporado ao núcleo e não requer referência a pacotes de terceiros. (Este artigo se referirá ao pacote de terceiros: BrotliSharpLib e ao embutido para comparação), a configuração é a seguinte:
ASP.NET Fluxo principal de chamadas de compressão Brotli: ResponseCompressionServicesExtensions -> AddResponseCompression -> ResponseCompressionProvider -> BrotliCompressionProvider -> BrotliStream.
O código de enumeração do nível de compressão é o seguinte:
Crie um novo projeto de console .NET 6 com o seguinte código de benchmark:
Os resultados dos testes são os seguintes:
Testei um arquivo de 503kb e, após a compressão, não houve muita diferença, tudo em torno de 400kb, e descobri que a velocidade de descompressão do Gzip ainda era mais rápida que a do Brotli, que deveria ser a mesmaTamanho do arquivo, . Versão da rede, nível de compressão, conteúdo do arquivo, etcEm resumo, é melhor escolher a cena que melhor se encaixa para você.
Se você encontrar um erro assim:
Ambiente Resumo -> Código de saída de erro detectado em um dos benchmarks. Pode ser causado pelo seguinte software antivírus: - 360 SafeGuard (C:\Program Files (x86)\360\360Safe\safemon\360tray.exe) - Windows Defender (windowsdefender://) Use InProcessEmitToolchain ou InProcessNoEmitToolchain para evitar a criação de novos processos. solução
ou
(Fim)
|