问题标签 [ngx-brotli]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
622 浏览

nginx - 在 NGINX 中使用 GZIP 和 BROTLI 共享 MIME 类型列表

我想使用 NGINX 启用 GZIP 和Brotli压缩。我必须在我的 nginx.conf 中为每个人提供他们自己的 MIME 类型列表:

如何创建两个设置都可以使用的 MIME 类型的单个列表?

0 投票
2 回答
1376 浏览

nginx - 如何将 nginx brotli_static 与 proxy_pass 一起使用?

nginx 是在启用 Brotli 的情况下编译的。在我的 nginx.conf

我的 .br 文件位于带有proxy_pass.

并且 .br 文件已在该app服务器上生成:

拉下未压缩文件的工作原理:

拉下 1,157,704 大小的未压缩文件。

拉下一个 309,360 大小的 gzip 文件。

但:

仍然获得完整的 1,157,704 大小的未压缩文件。

我曾希望 brotli_static也能代理 .br 文件请求 - 向后端发送 GET 请求以获取 .br 等效资源 - 但这似乎不起作用。

brotli_static 可以通过 proxy_pass 工作吗?

0 投票
0 回答
182 浏览

brotli - brotli 压缩的最佳最小长度是多少?

google ngx_brotli 默认为 20

一些网站提到的最低应该是 100

有人说不要超过 256 字节

实际上确切的数字是多少?对于 nginx 和正常的 brotli 压缩最小。

谁能帮忙解答?提前致谢。

ps:顺便说一句,我也认为最佳压缩级别应该是 5 而不是 6 ...值得商榷。

网上查了一下,没找到。

0 投票
1 回答
289 浏览

nginx - 为什么 Brotli 命令行只允许到 9 级?

根据 Brotli 的GitHub 主页,动态压缩有 11 个级别。

设置动态压缩 Brotli 质量(压缩)级别。可接受的值在 0 到 11 的范围内。

然而,该项目的另一页显示命令行仅支持 9 级压缩

压缩级别(0-9);较大的值会导致更密集但更慢的压缩

我测试了命令行中的级别 9 是否与级别 11 动态压缩相同。然而事实并非如此。

有没有办法使用 11 级压缩的命令行来压缩文件?

0 投票
1 回答
896 浏览

nginx - Nginx:缓存 Brotli 压缩代理上游响应

我在 Nginx 中为动态生成但很少更改的资源启用了 Brotli 压缩。

我的期望是,当 Nginx 缓存上游响应时,它也会缓存压缩结果。因此,我假设启用 Brotli 的 CPU 成本可以忽略不计。相反,我看到了 perf top与 Brotli 相关的性能影响。

我验证了缓存到上游服务器的工作。但是,Nginx 仅将未压缩的上游请求存储在其缓存中。因此,它必须为每个请求运行昂贵的 Brotli 压缩。那就是问题所在。

有一些来源(与 gzip 压缩有关)建议在上游进行压缩,或者如果这不是创建第二个 Nginx 来代理请求的选项,它扮演上游的角色并进行压缩。这两种解决方案都不是很优雅。

有没有办法让 Nginx 不仅缓存未压缩的上游请求,还缓存压缩的结果?

也许我忽略了一些。这是一个简化的配置:

0 投票
1 回答
949 浏览

nginx - 如何防止nginx反向代理重新压缩上游压缩响应?

我有 nginx 反向代理,它从上游(清漆缓存)接收 brotli 压缩响应。但是,只有当我设置“brotli on”时,反向代理才会向浏览器提供 brotli 压缩响应;在反向代理服务器块内。

我的目标是让 nginx 反向代理根本不处理压缩。为此,我有以下问题:

  1. 反向代理块是否有望解压缩收到的响应并自行处理?它不能直接将上游响应传递回客户端吗?

  2. 有没有办法将代理响应或它的大小转储到 nginx 日志?这将有助于更好地调试问题。

0 投票
1 回答
93 浏览

google-chrome - 浏览器总是得到未压缩的脚本。用 Brotli 预压缩

我使用 brotli 预压缩我的脚本。这是我的脚本 在此处输入图像描述

Nginx 配置:

这是chrome的截图: 在此处输入图像描述

标题。我猜他们是对的 在此处输入图像描述

但是chrome仍然在获取未压缩的文件!当我将节流设置为“Fast 3G”时,chrome 会慢慢下载 1.6MB 的未压缩脚本。我究竟做错了什么?

0 投票
1 回答
42 浏览

nginx - 是否可以根据 Nginx 中的请求标头动态设置 Brotli 压缩级别?

我正在使用 Brotli 进行响应压缩,并在 Nginx 中使用nginx-brotli 模块执行此操作。

我想brotli_comp_level根据请求标头动态设置值,以便慢速网络上的客户端可以请求更高的压缩率。我怎样才能做到这一点?

我试过无济于事:

0 投票
0 回答
24 浏览

nginx - 关于nginx的CPU资源消耗问题

我尝试在nginx中使用br压缩,但发现CPU资源使用率不如预期。在相同机器条件下,我做了如下测试:</p>

  • 1、20 QPS 使用 gzip 压缩
  • 2、20 QPS with br compress
  • 3、gzip compress 10 QPS,br compress 10 QPS
  • 4、gzip compress 5 QPS,br compress 15 QPS

各组CPU占用情况如下:</p>

测试组 1 2 3 4
cpu使用百分比 65.786% 42.66% 72.388% 54.926%

问题是用纯gzip或br流测试时,cpu使用率下降(65.786% -> 42.66%)。让我困惑的是测试 3 比测试 1&2 使用更多的 cpu;</p>