我试图通过从HTTP11转移到HTTP2来优化新闻门户网站,并为我们的CMS优化每页大约800-1000个请求。 我期望HTTP2将使我的请求并行(像这里链接),但我的请求似乎仍然是相当顺序(图片附加)。 我的问题的图片 – 不像在这里,我们可以看到完美的并行请求: 一个好的http2性能的例子的问题
服务器是Caddy,但是因为和http2静态服务器一样,所以不要以为它会更好。
发起者大部分时间require.js所以它可能是require.js按顺序执行请求,而不是并行执行。
例如,模块分辨率就是这种情况: require.js需要moduleA ,因此请求它; 当moduleA到达浏览器并被parsing时,需要moduleB , require.js向require.js发出请求; 等等。
尝试与Firefox,因为它可能是由于Chrome中的这个错误: https : //stackoverflow.com/questions/45384243/google-chrome-does-not-do-multiplexing-with-http2/45775288#45775288
另外你应该注意到许多实现限制了最大数量的数据stream(例如,Apache的限制为每次100个数据stream),所以即使你解决了你的问题,你也不会看到所有的800-1000个请求同时发生(但是应该会好很多比你现在看到的)。