TogetherROS™·Bot零拷贝性能测试
我们使用TogetherROS™·Bot系统内部集成的性能测试工具——performance_test,来评估下开启零拷贝前后的性能差异,这里我们传输的样本数据量是4M。
未开启零拷贝进行数据传输
$ ros2 run performance_test perf_test --reliable --keep-last --history-depth 10 -s 1 -m Array4m -r 100 --max-runtime 30 #未开启
开启零拷贝数据传输:
$ ros2 run performance_test perf_test --zero-copy --reliable --keep-last --history-depth 10 -s 1 -m Array4m -r 100 --max-runtime 30 #开启
好的,测试已经跑完了,我们把结果放到这里,来分析一下。
在这个测试中,关键有四个指标:
- 时延,也就是消息从发布者到订阅者的传输时间。不开启零拷贝的情况下,平均为0.004912s,开启零拷贝之后,速度快了差不多40倍,平均为0.000180s。
- CPU使用率,表示通信活动所占用的CPU时间,大家可以看这个utime指标,开启零拷贝之后时间有显著的提升,消耗CPU的资源少了。
- 驻留内存,包括通信过程中分配的内存和共享内存,是这个maxrss中的数据,开启零拷贝之后,占用的内存也更少。
- 样本统计,包括测试中发送、接收以及丢失的消息数量,是这组数据,依然是开启零拷贝之后性能更好。
通过测试,对于大数据通信来讲,零拷贝在CPU消耗、内存占用以及通信延迟抖动方面的性能都会更好。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
测试
+关注
关注
8文章
5336浏览量
126793 -
cpu
+关注
关注
68文章
10882浏览量
212226 -
数据传输
+关注
关注
9文章
1923浏览量
64685
发布评论请先 登录
相关推荐
深入理解Linux系统零拷贝技术
内存拷贝是比较耗时操作,零拷贝是常用优化手段,今天分享的文章就是Linux系统零拷贝技术,Kafka和MySQL开源组件都用到这个核心技术,
什么是零拷贝技术
在传统操作系统的数据传输过程中,系统内部会在磁盘、内存、缓存中多次进行数据拷贝,每次都会占用CPU的资源,数据量小的时候还好。 随着数据量的增加,CPU的开销也会持续增加,尤其是在机器人图像数据
如何进行继电器负载测试
如何进行继电器负载测试 继电器是一种常见的电气元件,用于控制和分配电力负载。要确保继电器的负载能力和性能稳定,负载测试是必不可少的。 一、测试
如何进行FDD网络的性能测试
进行FDD(Frequency Division Duplex,频分双工)网络的性能测试,可以从以下几个方面进行: 一、功能测试 确认FDD
评论