wawos 发表于 2025-3-11 20:06:41

为什么http2.0比http1.1慢这么多?

<i class="pstatus"> 本帖最后由 wawos 于 2025-3-11 20:11 编辑 </i><br />
<br />
都是打开同一个: index.html (所有 js css 图标(其中表情图标大概30来个) 图片 加一起大概100个资源)<br />
<br />
只开http 1.1的情况下 5-7s 全部加载完成<br />
<br />
开http2.0后, 需要25-30s 才能全部加载完成<br />
<br />
<br />
<br />
测试方法没有问题, 每次测试都是重开浏览器的无痕模式进行测试的 (也就是相当于用户首次访问网站的状态)<br />
<br />
<br />
为什么会这样呢

gspl 发表于 2025-3-11 20:08:27

完全不懂,来个大家

wawos 发表于 2025-3-11 20:10:40

<font color="Red">不是1次2次, 是测试了20多次, 都是如此,<br />
<br />
不是说http2.0同时允许传输的链接更多吗? <br />
<br />
我实际测试时http2.0好像很多链接都是处于挂起状态, 同时只传输10多个url, 前面传完了后面挂起的url才会开始下载,<br />
<br />
测试http1.1, 可以同时30~50个url都在正常传输</font>

MasterCard 发表于 2025-3-11 20:12:12

因为http2会复用连接 国内到国外单线程速度经常很低<br />
另外http2在国外也不是很好用

wawos 发表于 2025-3-11 20:16:57

<div class="quote"><blockquote><font size="2"><a href="https://hostloc.com/forum.php?mod=redirect&goto=findpost&pid=16275392&ptid=1395224" target="_blank"><font color="#999999">MasterCard 发表于 2025-3-11 20:12</font></a></font><br />
因为http2会复用连接 国内到国外单线程速度经常很低<br />
另外http2在国外也不是很好用 ...</blockquote></div><br />
这么说, 是不是http2.0只适用于需要本身延迟就很低、网络非常优质稳定的情况下<br />
<br />
如果访问者和网站服务器不在同一个国家, 效果反而还远远不如http1.1?

kevenshijian 发表于 2025-3-11 20:12:00

HTTP/2 通常应该比 HTTP/1.1 快,但在某些情况下可能会表现得更慢。这里我来解释可能导致 HTTP/2 比 HTTP/1.1 慢的几个原因:<br />
<br />
队头阻塞问题:虽然 HTTP/2 通过多路复用解决了 HTTP/1.1 的应用层队头阻塞,但它仍然存在传输层(TCP)的队头阻塞。当一个 TCP 数据包丢失时,即使其他流的数据包已经到达,也必须等待丢失的数据包重传后才能被处理。<br />
TCP 拥塞控制:HTTP/2 通常使用单个 TCP 连接,当发生数据包丢失时,TCP 的拥塞窗口会收缩,影响所有复用在这个连接上的流。而 HTTP/1.1 使用多个连接,一个连接的问题不会影响其他连接。<br />
实现问题:一些早期或不完善的 HTTP/2 实现可能存在性能问题,导致处理效率低下。<br />
服务器配置不当:如果服务器没有正确配置 HTTP/2(比如没有设置适当的并发连接数或流的优先级),可能会影响性能。<br />
网络条件:在高丢包率的网络环境中,HTTP/2 的性能优势可能会减弱或消失,因为单个丢包会影响所有流。<br />
TLS 开销:虽然 HTTP/2 不要求使用 TLS,但实际上大多数实现都要求 HTTPS。TLS 握手和加密/解密可能会增加一些开销。<br />
复杂性增加:HTTP/2 的头部压缩(HPACK)、流控制和优先级机制增加了协议复杂性,在某些实现中可能导致处理开销增加。<br />
小文件传输:对于单个小文件的传输,建立 HTTP/2 连接的开销可能超过传输本身的时间,使得简单的 HTTP/1.1 请求反而更快。<br />
<br />
HTTP/3(基于 QUIC 协议)旨在解决 HTTP/2 中的一些问题,特别是传输层队头阻塞问题,通过使用 UDP 而非 TCP 来实现更好的性能。<br />
如果你在特定场景下遇到 HTTP/2 性能问题,可能需要分析具体的网络条件、服务器配置和应用特性来找出原因。

气味 发表于 2025-3-11 20:44:28

HTTP 1 2 3 各自有哪些优劣势?<br />
都适合什么样的应用场景?
页: [1]
查看完整版本: 为什么http2.0比http1.1慢这么多?