【问题标题】:Benchmarking HTTP/2 vs. previous protocol versions对 HTTP/2 与以前的协议版本进行基准测试
【发布时间】:2016-04-16 08:18:16
【问题描述】:

我正在将 HTTP/2 与以前版本的协议进行比较,例如HTTP 1.1,SPDY 3.1。我已经彻底研究了技术差异,现在我正在尝试将 HTTP/2 与之前的版本进行基准测试。但是,我有点困惑,最好的方法是什么。

我已经设置了一个运行 h2o 的 Fedora 服务器,并在上面有一个测试网站,用于进行基准测试。我想测量诸如页面加载时间 (PLT)、总往返行程/发出的请求以及传输的总数据,特别是标题大小。

是否可以使用 Chrome 或 Firefox 等浏览器使用开发者工具对这些指标进行准确测量,或者这是否会因浏览器特定开销而严重扭曲?如果是这样,还有哪些其他工具可以用来完成这项工作?

非常感谢任何帮助!

【问题讨论】:

    标签: performance http https benchmarking http2


    【解决方案1】:

    大多数人似乎要么使用浏览器的 Web 工具测量页面加载时间/首次绘制等内容,要么使用 h2load 之类的工具测量更原始的 HTTP 传输性能。

    有像http://http2.loadimpact.com/ 这样的工具可以为你做这件事。 (Ragnar 还描述了他在 his slides 上比较 h2 和 h1 的研究。)

    【讨论】:

    • 你可以为这些研究添加一些链接吗@Daniel?
    • “研究”会弹出浏览器的网络工具并检查网络选项卡,看看需要多长时间,h2 vs h1。
    • 感谢您的链接!那些幻灯片很整洁!
    【解决方案2】:

    在大多数情况下,您可以信任浏览器报告的指标,尽管当服务器使用 PUSH 时它们会严重关闭。

    由于您控制网站,您可以查看user timing interface,它会让您在浏览器中的生活更轻松。

    更复杂和复杂的替代方案是 Wireshark 网络转储和 strace 日志。

    冒着多余的风险,我可以添加一些建议:尝试使用实验室条件。也就是说,在您完全控制的网络中运行服务器和客户端。例如,在您的本地计算机中模拟网络,然后使用netem 模拟速率和延迟等网络参数。如果您的服务器在互联网上,那么您的测量结果将受到您无法控制的因素的影响,例如您所在城市的一天中有多少人在访问互联网。

    【讨论】:

      猜你喜欢
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 2015-08-05
      • 2010-10-27
      • 2010-11-14
      • 2017-07-16
      • 1970-01-01
      • 2012-02-02
      相关资源
      最近更新 更多