全球主机交流论坛备用站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

全球云38元起免备案V2EX搬瓦工VPS
SEO查询超级PING网站测速
Virmach特价鸡乌云漏洞吾爱破解
查看: 144|回复: 6

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

[复制链接]

251

主题

419

回帖

1879

积分

金牌会员

Rank: 6Rank: 6

积分
1879
发表于 2025-3-11 20:06:41 | 显示全部楼层 |阅读模式
20230417
本帖最后由 wawos 于 2025-3-11 20:11 编辑

都是打开同一个: index.html (所有 js css 图标(其中表情图标大概30来个) 图片 加一起大概100个资源)

只开http 1.1的情况下 5-7s 全部加载完成

开http2.0后, 需要25-30s 才能全部加载完成



测试方法没有问题, 每次测试都是重开浏览器的无痕模式进行测试的 (也就是相当于用户首次访问网站的状态)


为什么会这样呢
MJJ,你的签名掉了~~~
回复

使用道具 举报

0

主题

1577

回帖

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2025-3-11 20:08:27 | 显示全部楼层
完全不懂,来个大家
MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

251

主题

419

回帖

1879

积分

金牌会员

Rank: 6Rank: 6

积分
1879
 楼主| 发表于 2025-3-11 20:10:40 | 显示全部楼层
不是1次2次, 是测试了20多次, 都是如此,

不是说http2.0同时允许传输的链接更多吗?

我实际测试时http2.0好像很多链接都是处于挂起状态, 同时只传输10多个url, 前面传完了后面挂起的url才会开始下载,

测试http1.1, 可以同时30~50个url都在正常传输
MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

442

主题

1158

回帖

4224

积分

论坛元老

Rank: 8Rank: 8

积分
4224
发表于 2025-3-11 20:12:12 | 显示全部楼层
因为http2会复用连接 国内到国外单线程速度经常很低
另外http2在国外也不是很好用
MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

251

主题

419

回帖

1879

积分

金牌会员

Rank: 6Rank: 6

积分
1879
 楼主| 发表于 2025-3-11 20:16:57 | 显示全部楼层
MasterCard 发表于 2025-3-11 20:12
因为http2会复用连接 国内到国外单线程速度经常很低
另外http2在国外也不是很好用 ...

这么说, 是不是http2.0只适用于需要本身延迟就很低、网络非常优质稳定的情况下

如果访问者和网站服务器不在同一个国家, 效果反而还远远不如http1.1?
MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

0

主题

14

回帖

54

积分

注册会员

Rank: 2

积分
54
发表于 2025-3-11 20:12:00 | 显示全部楼层
HTTP/2 通常应该比 HTTP/1.1 快,但在某些情况下可能会表现得更慢。这里我来解释可能导致 HTTP/2 比 HTTP/1.1 慢的几个原因:

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

HTTP/3(基于 QUIC 协议)旨在解决 HTTP/2 中的一些问题,特别是传输层队头阻塞问题,通过使用 UDP 而非 TCP 来实现更好的性能。
如果你在特定场景下遇到 HTTP/2 性能问题,可能需要分析具体的网络条件、服务器配置和应用特性来找出原因。
MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

199

主题

2418

回帖

6539

积分

论坛元老

Rank: 8Rank: 8

积分
6539
发表于 2025-3-11 20:44:28 | 显示全部楼层
HTTP 1 2 3 各自有哪些优劣势?
都适合什么样的应用场景?
MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

展开

QQ|Archiver|手机版|小黑屋|全球主机交流论坛备用站

GMT+8, 2025-4-24 20:43 , Processed in 0.059623 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表