我们是优化nginx的新手,并且正在学习很多东西。
我们在OS X上运行nginx(nginx / 1.9.9)。
我们在缓存代理模式下运行它,在nginx框后面有一个Apache服务器。当页面请求被转发到Apache服务器时,图像和静态内容将缓存在nginx上。
我们确认我们正在使用" X-Cache HIT"来访问静态内容的缓存。头。
然而,当通过GT Metrix运行其中一个站点时,我们注意到有一个很长的等待时间" HTTP(2)连接上的时间。
注意500毫秒的等待时间。
现在,这是服务器端还是客户端的等待时间?可能是因为HTTP(2)正在等待先前加载的文件?我知道它管道资源,我认为与HTTP1 / 1不同,浏览器会打开多个单独的连接。
另外,请注意来自pagead2.google.com的内容,而secure.gravatar.com几乎没有"等待"时间。
来自nginx配置的一些信息:
worker_processes auto;
events {
worker_connections 2048;
multi_accept on;
}
有没有人对我们为什么会有这么高的等待"次?我没有理由担心它是HTTP2的正常部分吗?
提前感谢您的建议,建议和见解。
答案 0 :(得分:0)
鉴于屏幕截图中显示的其他值,我猜您的吞吐量受GT Metrix端点与服务器之间的网络延迟限制。
HTTP / 2在TCP之上运行,因此受到 TCP慢启动等限制,这意味着传输数据需要在服务器和GT Metrix之间进行多次往返。当您的延迟时间大约为100毫秒时,无论可用带宽如何,数据传输都需要更长的时间。
您可以通过运行另一个GT Metrix测试来轻松测试此假设,测试服务器更接近您的实际服务器(fwiw,请求距离我的桌面需要55毫秒)