0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何进行零拷贝性能测试

麦辣鸡腿堡 来源:古月居 作者:古月居 2023-11-27 16:51 次阅读

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
    cpu
    +关注

    关注

    68

    文章

    10882

    浏览量

    212226
  • 数据传输
    +关注

    关注

    9

    文章

    1923

    浏览量

    64685
收藏 人收藏

    评论

    相关推荐

    光纤是如何进行分类的?如何对光纤的性能进行测试

    光纤是如何进行分类的?如何对光纤的性能进行测试
    发表于 05-27 07:08

    何进行编解码性能测试?是否有参考程序?

    何进行编解码性能测试?是否有参考程序?
    发表于 09-19 06:56

    RAID中拷贝技术研究

    从实际测试和理论分析角度出发,研究了采用拷贝技术对提高RAID性能的重要性.研究结果表明拷贝
    发表于 07-01 17:09 20次下载

    何进行单片机测试程序免费下载

    本文档的主要内容详细介绍的是如何进行单片机测试程序免费下载。
    发表于 06-10 17:49 2次下载
    如<b class='flag-5'>何进行</b>单片机<b class='flag-5'>测试</b>程序免费下载

    什么是EMC测试_如何进行EMC测试

    我们经常被问到什么是EMC测试,为什么要进行测试,谁应该执行EMC测试以及我们如何进行测试,因此
    发表于 05-12 10:49 1.8w次阅读

    深入理解Linux系统拷贝技术

    内存拷贝是比较耗时操作,拷贝是常用优化手段,今天分享的文章就是Linux系统拷贝技术,Kafka和MySQL开源组件都用到这个核心技术,
    的头像 发表于 09-01 15:12 3072次阅读

    详解Linux系统中的拷贝技术

    Linux系统中一切皆文件,仔细想一下Linux系统的很多活动无外乎读操作和写操作,拷贝就是为了提高读写性能而出现的。
    的头像 发表于 05-18 09:18 2374次阅读
    详解Linux系统中的<b class='flag-5'>零</b><b class='flag-5'>拷贝</b>技术

    电源如何进行效率测试

    我们进行了其它改动的时候,就需要重新进行效率测试。 今天,就给大家详细讲一讲如何进行效率测试,以及相关注意事项。
    的头像 发表于 12-01 16:19 1695次阅读

    汽车天窗淋雨设备——防水测试何进行

    汽车天窗淋雨设备——防水测试何进行
    的头像 发表于 10-12 08:14 1075次阅读
    汽车天窗淋雨设备——防水<b class='flag-5'>测试</b>如<b class='flag-5'>何进行</b>

    传统IO演化至拷贝的过程

    拷贝(Zero-Copy)用于在数据读写过程中减少不需要的CPU拷贝,CPU就那么几个,减少它的负担自然可以提高处理效率。数据传输有本地的文件拷贝和通过socket
    的头像 发表于 11-09 09:09 479次阅读
    传统IO演化至<b class='flag-5'>零</b><b class='flag-5'>拷贝</b>的过程

    芯片电学测试何进行?包含哪些测试内容?

    芯片电学测试何进行?包含哪些测试内容? 芯片电学测试是对芯片的电学性能进行测试和评估的过程。它
    的头像 发表于 11-09 09:36 1687次阅读

    什么是拷贝技术

    在传统操作系统的数据传输过程中,系统内部会在磁盘、内存、缓存中多次进行数据拷贝,每次都会占用CPU的资源,数据量小的时候还好。 随着数据量的增加,CPU的开销也会持续增加,尤其是在机器人图像数据
    的头像 发表于 11-27 16:20 471次阅读
    什么是<b class='flag-5'>零</b><b class='flag-5'>拷贝</b>技术

    何进行继电器负载测试

    何进行继电器负载测试  继电器是一种常见的电气元件,用于控制和分配电力负载。要确保继电器的负载能力和性能稳定,负载测试是必不可少的。 一、测试
    的头像 发表于 01-18 14:32 1323次阅读

    何进行RF PA Ruggedness的测试和评估呢?

    关于PA ruggedness设计测试问题,先介绍一下原理,如何进行ruggedness的测试和评估。
    的头像 发表于 03-27 10:19 2639次阅读
    如<b class='flag-5'>何进行</b>RF PA Ruggedness的<b class='flag-5'>测试</b>和评估呢?

    何进行FDD网络的性能测试

    进行FDD(Frequency Division Duplex,频分双工)网络的性能测试,可以从以下几个方面进行: 一、功能测试 确认FDD
    的头像 发表于 01-07 17:20 271次阅读