【问题标题】:Is there a speed benefit to decreasing HTTP requests if using HTTP2?如果使用 HTTP2,减少 HTTP 请求是否有速度优势?
【发布时间】:2020-12-02 11:52:00
【问题描述】:

AFAIK 减少 HTTP 请求以提高网站速度的整个想法在于 HTTP 无法处理并发请求。 HTTP2 允许并发请求。

减少发出的 HTTP 请求的数量是否仍然可以提高性能?

或者在并发处理大量较小的 HTTP 请求时更有效?

或者是否有一个基于站点/浏览器可以处理的并发请求数量的快乐媒介?

我专门为此使用 nginx,但假设同样的问题同样适用于 apache 和其他 Web 服务器。

【问题讨论】:

  • 这种东西是要测量的。例如,如果您发送到服务器的实际数据与标头的大小大致相同,那么当然最好使用 1 个请求而不是 100 个。另一方面,使用 1 而不是 2 可能不再值得。或者,如果数据比标头大 100 倍,那也不一定值得。另一方面,如果请求处理需要很多时间,那么并发方法可能会更好。但是,潜在的资源匮乏、可扩展性和安全性又如何呢?这么多问题......没有简单的“更好/更差”的答案。

标签: http nginx http2 sitespeed


【解决方案1】:

HTTP/2 使请求更便宜 - 不是免费的。

HTTP请求还是有代价的,查找本地缓存、构建请求、发送请求、等待响应、获取结果、决定下次是否缓存、处理结果……等等。为此browsers can limit the number of requests in flight at once.

服务器通常还将连接一次限制为 100 个飞行响应。

其他人也发现completely forgoing packaging leads to performance issues,部分原因是由于上述原因,还因为压缩(gzip 和 brotli)对于较小的文件效率较低,导致必须发送更多字节。

普遍的共识似乎是 1) 测试和 2) 更少地捆绑成功能块,但不要完全摆脱它。

【讨论】:

    猜你喜欢
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多