RTI Perftest 的大样本测试

阅读: 评论:0

RTI Perftest 的大样本测试

RTI Perftest 的大样本测试

RTI Perftest可以将样本从28 Bytes发送到2,147,483,135 Bytes(2 GBytes - 512 Bytes - 8 Bytes),这对应于RTI Connext DDS能够在单个样本中发送的最大有效载荷。

数据大小由命令行参数-dataLen <bytes> 。 根据此参数, RTI Perftest将自动配置某些RTI Connext DDS行为。

在样本量小于或等于63000字节的情况下,默认情况下, RTI Perftest将使用带有序列的类型(绑定设置为63000个元素)。 如果样本量大于63000字节,则RTI Perftest将自动切换到与前面提到的类型相同的类型,但使用无界序列。

这种行为背后的原因是,在RTI Perftest使用无界序列的情况下, RTI Connext DDS不会预先将序列分配给其最大值(与使用有界序列时相反)。 对于无界限成员,由RTI Connext DDS生成的代码将通过动态分配和解除分配内存来反序列化样本,以适应无界成员的实际大小。 无界 - -DynamicData (命令行参数-DynamicData )也支持序列和字符串。

除了使用Unbounded-Sequences外,通过设置大于63000字节的样本, RTI Perftest将启用异步发布 ,如RTI Connext DDS默认流量控制器。
 

用户想要使用Unbounded-Sequences,异步发布或不同于缺省值的流控制器但样本量小于63000字节的情况也受支持。 通过使用命令行参数 - 无-unbounded <managerMemory> , - -asynchronous和-flowController ,可以实现这些行为,请参阅测试参数部分以获取更多详细信息。

7.1  调整配置

在此处查找样本大小配置为1GB的示例:

  • Publisher:
bin/<architecture>/<release or debug>/perftest_cpp -pub -dataLen 1073741824
  • Subscriber:
bin/<architecture>/<release or debug>/perftest_cpp -sub -dataLen 1073741824

这是RTI Perftest接受的完全有效的配置,但是,在某些情况下,由于样本量较大,此情况下的通信将受到限制或非最佳。 因此可能需要进行一些额外的调整:

7.1.1  通过使用参数-sendQueueSize <number>
写入器端的发送队列的默认值是50 。 这可能是一个非常高的价值, RTI Connext DDS中间件可能无法在最佳条件下执行。 因此,对于大数据采样,建议将发送队列减少为较低值。

7.1.2  通过使用参数-pubRate <samples/s>
可以使用此参数来限制RTI Perftest发布样品的频率。 这有助于减少网络中的软件包数量,有助于实现更好的延迟和吞吐量数量。

7.1.3  通过使用流量控制器-flowController <default,1Gbps,10Gbps>
由于样本量大于63000字节, RTI Perftest将启用异步发布。 通过启用该功能,您还可以使用默认的流量控制器 ,这可能不是最佳的。 指定针对场景所在网络定制的流量控制器可能是一种好的做法。

RTI Perftest提供了使用专为10Gbps网络和1Gbps网络设计的流量控制器的选项。 但是,通过访问perftest_l配置文件,可以修改这2个流量控制器,并根据特定的网络要求定制它们。

<qos_profile name="BaseProfileQos"><participant_qos>. . .<property><value><element><name>dds.flow_controller.token_bucket.10Gbps.token_bucket.max_tokens</name><value>300</value></element><element><name>dds.flow_controller.token_bucket.10Gbps.token_bucket.tokens_added_per_period</name><value>200</value></element><element><name>dds.flow_controller.token_bucket.10Gbps.token_bucket.bytes_per_token</name><value>65536</value></element><element><name>dds.flow_controller.token_bucket.10Gbps.token_bucket.period.sec</name><value>0</value></element><element><name>dds.flow_controller.token_bucket.10Gbps.token_bucket.period.nanosec</name><value>10000000</value></element></value></property>. . .</participant_qos>
</qos_profile>

流量控制器和发送队列的具体值将高度依赖于执行测试的场景和机器,但作为一般性建议,建议进行以下更改:

  • Publisher:
bin/<architecture>/<release or debug>/perftest_cpp -pub -dataLen 1073741824 -sendQueueSize 1 -flowController 1Gbps
  • Subscriber:
bin/<architecture>/<release or debug>/perftest_cpp -sub -dataLen 1073741824

本文发布于:2024-02-04 10:27:24,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170705079854754.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:样本   测试   RTI   Perftest
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23