Nginx HTTP/2 性能不如使用 TLS 的 HTTP/1.1

Nginx HTTP/2 性能不如使用 TLS 的 HTTP/1.1

我正在尝试配置 nginx 来服务一个小型、完全静态的站点。

如果不启用 HTTP/2,我在 Chrome 开发者工具中得到以下图表:

没有 HTTP/2

在这里,我们看到了非常好的 TTFB 和文件吞吐量。不过从第七个请求开始,由于浏览器的连接限制为 6 个,因此浏览器会进行一些排队。这就是我想要切换到 HTTP/2 的原因(以及它的其他好处)。

现在,启用 HTTP/2(http在中添加选项listen):

在此处输入图片描述

前几个请求很棒,但随后一切都迅速恶化(延迟和吞吐量/下载速度)。

所有其他参数保持不变,并且我持续看到这种行为。

我的 nginx 配置(如果有帮助的话):https://gist.github.com/alfredxing/12757c0f7f91c91a415b651fd9510ec4

知道为什么会发生这种情况吗?

答案1

HTTP/2 服务器的行为方式与普通的 HTTP/1.1 服务器不同。首先,HTTP/2 服务器可以看到来自同一客户端的所有请求,并对其中一些请求进行不同的优先级排序。

相关内容