【问题标题】:Why is HTTP/2 slower for me in FireFox?为什么我在 FireFox 中的 HTTP/2 速度较慢?
【发布时间】:2016-04-08 19:13:47
【问题描述】:

Akamai 在其网站上有一个非常有趣的 HTTP/2 演示:

https://http2.akamai.com/demo

HTTP/2(HTTP 的未来)允许通过单个 TCP 连接同时下载资产,从而减少了对 spritesheets 和串联的需求...据我了解,在有大量请求的站点上它应该总是更快(比如在演示中)。

当我在 Chrome 或 Safari 中尝试演示时,它确实要快得多,但是当我在 FireFox 中对其进行测试时,它始终SLOWER。相同的计算机,相同的连接。

这是为什么?

HTTP/2 显然是supported by all major browsers,包括 FireFox,所以它应该可以正常工作,但在这个真实世界的演示中,它有 80% 的时间会变慢。 (在 Chrome 和 Safari 中,它 100% 的时间都更快。)

在确保清除了所有缓存后,我在下周一再次尝试:

我的操作系统:El Capitan 版本 10.11.3 (15D21) 和 FireFox 版本 44.0.2

更新(2016 年 4 月)

现在运行 Firefox 45.0.1:

还是慢!

【问题讨论】:

  • 您在检查该页面之前是否清除了缓存?
  • @Evert 当然。当我第一次运行页面时,我得到的最差分数......但我没有截屏。
  • 我不确定你的情况,但我的 Firefox Nightly 中 HTTP/2 的“加载时间”比 1 短
  • 对我来说,大约 80% 的时间都比较慢。奇怪。

标签: http firefox http2


【解决方案1】:

您的延迟似乎非常小,网络速度非常快。

我对 HTTP/1.1 的典型结果是延迟 = 40 毫秒,加载时间 = 3.5 秒,而 HTTP/2 始终快 3 倍。

有了像您这样的网络,其他影响可能会发挥作用。

根据我的经验,最重要的一项是实际协商的密码。

HTTP/2 要求使用非常强大的密码,而 HTTP/1.1(通过 TLS)允许使用更弱、因此更快的密码。

为了比较苹果和苹果,您需要确保使用相同的密码。对我来说,在这个 Akamai 演示中,使用了相同的密码。

另一件可能很重要的事情是 HTTP/1.1 源是从 http1.akamai.com 下载的,而对于 HTTP/2,它们是从 http2.akamai.com 下载的。对我来说,它们解析为不同的地址。

还应该分析演示中报告的时间有多精确:)

最终答案只能来自使用 Wireshark 等工具的网络跟踪。

对于比您的网络更差的网络(可能是大多数网络),由于与延迟相关的 HTTP/2 优化(特别是多路复用),HTTP/2 通常是明显的赢家。

【讨论】:

  • 很好的答案,尽管您似乎在暗示“https 的安全性较弱。虽然,作为一个粗略的经验法则,更强的密码确实需要更多的处理,但这并不是普遍适用的。更多的处理也不直接意味着较差的性能(尽管可以考虑容量)。 'https 提供了使用较弱密码的 选项,而 http/2 不允许这样做。
  • 同一连接,同一台计算机,在不同浏览器中给我更好的结果,怎么可能是网络问题?谢谢。
  • 这是一个有趣的问题,如果没有网络跟踪和对该页面实际测量的内容的详细分析,就无法回答。出于好奇,如果您使用nghttp2 而不是浏览器,HTTP/2 是否比 HTTP/1.1 更好?
【解决方案2】:

如果您混合使用大小资源,则延迟比绝对加载时间更重要。例如。如果您正在加载一个非常大的图像但也加载了一个小样式表,那么 HTTP2 的多路复用通过单个连接可以在图像仍在加载时完成样式表。该页面可以使用最终样式呈现,并且 - 假设图像是渐进式的 - 还将显示图像的低分辨率版本。

换句话说,如果负载的尾部是由一些大型资源引起的,那么它的重要性可能会小得多。

也就是说,大多数时候,演示页面在 FF 每晚对我来说加载 http2 的速度更快,尽管存在一些差异。您可能需要更好的测量值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 2011-06-03
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多