【问题标题】:Measuring the HTTP response time back to the client using only the server仅使用服务器测量返回给客户端的 HTTP 响应时间
【发布时间】:2010-11-13 10:09:35
【问题描述】:

我需要测量向客户端发送 Web 响应需要多长时间 - 仅从服务器端。我知道有 ajaxian 和客户端方法可以做到这一点,但我仅限于服务器端唯一的方法来测量客户端的时间。

是否有可能粗略在服务器发送响应后使用从客户端浏览器发回的 ACK 来近似?

如...http://www.usenix.org/event/usenix02/fu/fu_html/node10.html所述。

这个数字可靠吗?

【问题讨论】:

    标签: performance http tcp response


    【解决方案1】:

    每发送两个段,ACK 大约会到达一次(如果一切正常)。他们告诉您客户已接受数据。因此,假设从客户端到服务器的行程时间相同,deltaAckNum/deltaT 应该对平均速度的大小给出合理的估计。显然这两个 ACK​​ 段跨越的数据包越多越好。

    如果您查看 Timestamp 选项,您可以获得不同时间点的 RTT 估计值 - 当一方在 TSVal 中发送时间戳时,另一方在返回数据包的 TSEcr 字段中回显它。虽然不仅仅是从客户端到服务器的延迟,但它有助于获得一种感觉。

    不过,有几个“但是”要提:

    1) 除非您因为有人抱怨而专门尝试提高大文件传输的性能,否则很可能是 瓶颈在堆栈的其他地方。 (例如,元素之间的依赖关系要求它们全部被下载以始终可见等)。对于调试,YSlow 会很有用。

    2) 有问题的客户端可能位于类似代理的中间盒后面,该中间盒将为它们确认 TCP 级别的数据,但它本身会做一些“聪明”的事情(整形/内容过滤/等)。

    【讨论】:

      猜你喜欢
      • 2013-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      • 2019-02-05
      相关资源
      最近更新 更多