首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测量低延迟环境中的延迟?

如何测量低延迟环境中的延迟?
EN

Stack Overflow用户
提问于 2009-08-05 21:28:02
回答 4查看 5.2K关注 0票数 18

这是设置..。您的系统正在接收包含离散消息的数据流(每条消息通常在32-128字节之间)。作为处理流水线的一部分,每个消息通过两个物理上分离的应用程序,这两个应用程序使用低延迟方法(如UDP上的消息传递)或RDMA交换数据,最后通过相同的机制传递到客户端。

假设您可以在任何级别注入自己,包括有线协议分析,您将使用什么工具和/或技术来测量系统的延迟。作为其中的一部分,我假设传递到系统的每条消息都会导致相应的(尽管不是等价的)消息被推送到系统并传递给客户端。

我在市场上看到的唯一这样的工具是TS-Associates TipOff。我确信,有了正确的访问权限,您可能可以使用网络分析工具(ala wireshark)和正确的解析器来测量相同的信息,但这是正确的方法吗?或者是否有任何我可以使用的商品解决方案?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-08-05 21:59:05

你的最后一段是它需要完成的典型方式。这一领域的常见疑点(至少据我所知,市场数据(华尔街)延迟)是:

硬件捕获设备TSA (TS Associates)

  • Correlix

  • Corvil

  • Napatech (hardware capture devices)

  • Endace (hardware capture devices)

  • Endace(hardware capture)

还有另一家经营糟糕的公司,最近烧掉了他们的风投资金(400万?)。

对于被处理成不同格式的数据(比方说在直接交换提要或RMDS或其他更改协议的服务器上),您需要能够解析有效负载以关联消息。这可能很有挑战性,因为有时数据供应商不会公开消息定义。

我认为有一些硬件设备会注入带有时间戳的有效负载信息,这样客户端就可以看到这些信息。当然,正如另一张海报所指出的那样--时间问题非常重要。所有设备和客户端必须具有相同的时间参考点。必须是准确的。

上一次我与TSA交谈时,一个有4个观察点的安装大约需要15万美元。我怀疑上面列出的其他产品在价格上是相似的。

上面列出的硬件卡的起价约为2k美元(对于基本的卡),并从那里(显着)上涨。

要在软件中做到这一点,你需要让客户端使用pcap (或类似的东西),并查看有效负载并尝试匹配它们。在某些情况下,很难让这是确定性的--特别是在“会话”开始时,或者如果一个管道中缺少消息。通常在某个阈值之后,如果你不匹配某个东西,你就会丢弃它。

编辑:免责声明:我现在也是这个项目的一部分,应该公开这一点。

票数 9
EN

Stack Overflow用户

发布于 2009-11-18 15:18:10

A recent paper可能会有一些用处(而且也会比基于硬件的解决方案便宜得多)。还有一些方法可以相当准确地解释时钟偏差;上一次我认真研究单向延迟测量研究(几年前)时,最准确的技术是苏·穆恩的linear programming algorithm (参考代码可以很方便地在here上找到),但如果不使用一些相当现代的线性编程技术,作为在线算法是相当不切实际的;最好的做法是记录时间戳,而不是在一天中定期进行任何计算,然后对累积的数据运行LP算法。还有一些其他技术足够快,可以在网上完成(包括Vern Paxson的seminal paper ),但它们都不太准确。

票数 4
EN

Stack Overflow用户

发布于 2010-05-10 23:19:52

如果每条消息多几个字节对您来说不是一个过度杀伤力,我建议您只在源代码上使用完整的时间戳(64位)来标记消息,并在每一跳上添加条目/保留时间戳增量(每个戳一个字节)。通过分析双向流,您将找出机器之间的时钟偏差,然后您将能够获得完整的实时延迟信息,以供您考虑或发布到监控工具。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1235861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档