Nginx HTTP(2)" Waiting"连接时间

时间:2016-06-04 16:37:01

标签: apache caching nginx https http2

我们是优化nginx的新手,并且正在学习很多东西。

我们在OS X上运行nginx(nginx / 1.9.9)。

我们在缓存代理模式下运行它,在nginx框后面有一个Apache服务器。当页面请求被转发到Apache服务器时,图像和静态内容将缓存在nginx上。

我们确认我们正在使用" X-Cache HIT"来访问静态内容的缓存。头。

然而,当通过GT Metrix运行其中一个站点时,我们注意到有一个很长的等待时间" HTTP(2)连接上的时间。

请参阅此屏幕截图作为我们的意思的示例: enter image description here

注意500毫秒的等待时间。

现在,这是服务器端还是客户端的等待时间?可能是因为HTTP(2)正在等待先前加载的文件?我知道它管道资源,我认为与HTTP1 / 1不同,浏览器会打开多个单独的连接。

另外,请注意来自pagead2.google.com的内容,而secure.gravatar.com几乎没有"等待"时间。

来自nginx配置的一些信息:

worker_processes  auto;

events {
worker_connections  2048;
multi_accept        on;
}

有没有人对我们为什么会有这么高的等待"次?我没有理由担心它是HTTP2的正常部分吗?

提前感谢您的建议,建议和见解。

1 个答案:

答案 0 :(得分:0)

鉴于屏幕截图中显示的其他值,我猜您的吞吐量受GT Metrix端点与服务器之间的网络延迟限制。

HTTP / 2在TCP之上运行,因此受到 TCP慢启动等限制,这意味着传输数据需要在服务器和GT Metrix之间进行多次往返。当您的延迟时间大约为100毫秒时,无论可用带宽如何,数据传输都需要更长的时间。

您可以通过运行另一个GT Metrix测试来轻松测试此假设,测试服务器更接近您的实际服务器(fwiw,请求距离我的桌面需要55毫秒)