测试OpenDDS消息的传输时延的几种方法

    OpenDDS是无中心、实时传输中间件,符合OMG组织的DDS1.4规范,和其他厂商的DDS产品具有互操作性,即相互通讯。在试验、生产环境下,经常需要对消息的时延进行测试,以验证DDS传输性能是否满足生产需要:

    1、硬实时环境下,测试多台设备间DDS传输的时延

  • 首先需要硬件实时环境,包括实时操作系统(如VxWorks、其他实时操作系统等)、时钟服务器(网络时钟服务器或自定义时钟服务器);
  • 多台设备分别向时钟服务器进行校时;
  • 定义idl,包括srcTimeStamp、destTimeStamp或者使用DDS内置的时间戳原始数据
  • 编写pub和sub应用程序
  • 设置测试时长如2分钟或消息数量10000条
  • 分别记录max、min、average等时延数据,统计最大、最小和平均时延
  • 获取时延平均值和抖动值

    2、同一台机器上,测试本台设备内、单网卡上DDS传输的时延

  • 不需要考虑额外的任何因素
  • 定义idl,包括srcTimeStamp、destTimeStamp或者使用DDS内置的时间戳原始数据
  • 编写pub和sub应用程序
  • 设置测试时长如2分钟或消息数量10000条
  • 分别记录max、min、average等时延数据,统计最大、最小和平均时延
  • 获取时延平均值和抖动值

    3、同一台机器上,测试本台设备内、不同网卡间DDS传输的时延

  • 任意设备即可,但需要CPU核数多的,至少8核,为pub和sub分别绑定不同的CPU核,避免相互交叉;
  • 无需

猜你喜欢

转载自blog.csdn.net/pony12/article/details/108961655