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核,避免相互交叉;
- 无需