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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

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

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

我在市场上看到的唯一工具是TS-Associates TipOff。我确信,通过正确的访问方式,你可以使用线分析工具(ala wireshark)和正确的解析器来测量相同的信息,但这是正确的方法,还是我可以使用任何商品解决方案?

提问于
用户回答回答于

你的最后一段是它需要完成的典型方式。这个领域的常见嫌疑人(至少据我所知市场数据(华尔街)潜伏期)是:

  • TSA(TS Associates)
  • Correlix
  • Corvil
  • Napatech(硬件捕获设备)
  • Endace(硬件捕获设备)

还有另一家经营不善的公司,最近通过他们的风险投资(400万美元)被烧掉了。

对于经过处理的数据(假设在直接交换馈送或RMDS或更改协议的其他服务器)为不同格式,您需要能够解析有效负载以关联消息。由于有时数据供应商不公开消息定义,因此这可能很具挑战性。

我认为有些硬件设备会将有效载荷信息与时间戳一起插入,以便客户端可以看到这些信息。当然,正如另一张海报所指出的 - 时间问题非常重要。所有的设备和客户必须有相同的时间参考点。它必须是准确的...

上次我与TSA交谈时,有4个观察点的装置价值约为15万美元。我怀疑上面列出的其他人的价格是相似的。

上面列出的硬件卡的价格约为2千美元(对于裸机卡),并从那里上涨(显着)。

要用软件来完成,你需要让客户使用pcap(或类似的东西),并查看有效载荷并尝试匹配它们。在某些情况下,很难确定这一点 - 尤其是在“会话”开始时或者某个管道中缺少消息。通常在某个门槛之后,如果你不匹配某个东西,你就放弃它。

用户回答回答于

最近的一篇论文可能会有一些用处(并且也会比基于硬件的解决方案便宜得多)。也有相当准确地计算时钟偏斜的方法; 上一次我认真研究了单向延迟测量研究(几年前),最准确的技术是Sue Moon 的线性编程算法,但是如果不使用一些相当现代的线性编程技术,作为在线算法是不切实际的; 最好只记录时间戳,而不需要在整个一天中定期进行任何计算,然后在累积的数据之后运行LP算法。还有一些其他技术可以在线快速完成,但它们都不太准确。

扫码关注云+社区