关于最简生产者与消费者架构模型的优化
“串口数据速率较高”是多少Mbps?
■网友
"发送过来的数据通过调用厂家给的read()函数获取""串口数据速率较高时,我的读取速率就跟不上了"这就不是你的问题了吧
■网友
PCIE 2.0接口带宽5.0Gbps,1.0版本也有2.5Gbps!有没有测试过tcp转发速率是多少?(是同系统转发还是局域网内转发?) 要优化的话主要看瓶颈在哪里,无论是PCIE还是TCP数据包,可能会有一个系统内存和用户内存之间的拷贝的过程,会耗费一定的效率,如果是这个造成的(一般不可能),你没有板块内核层调用接口,无解。不过,既然是厂家给的接口,一般不会存在这个问题。个人猜测,最可能原因是TCP转发速率跟不上,缓冲队列消耗速度跟不上写入速度,造成写入阻塞,影响读取速率。如果是这个原因,可以考虑改UDP协议,改一次转发的数据包大小,如果是局域网转发可以考虑上更高带宽的网卡和交换机。
■网友
首先看一下循环缓冲队列是不是一段时间后就满了,如果存在满的情况,那说明消费者消费过慢,可以多加几个消费者,同时消费,这样缓冲队列会需要加锁;如果不存在满得情况,那说明串口速率实在是太快了…………
■网友
是不是缓冲区开太小了?
推荐阅读
- 过节■江苏省委省政府办公厅下发关于做好2021年元旦春节期间有关工作的通知
- |徐州市出台《关于优化创新创业生态系统 提升区域科技创新活力的实施意见》及实施细则
- 雨下|全球关于禁售燃油车只是理论上可行吗
- 关于用phpfsocket 写Post, 模拟http 报文怎样写入要传输的处理数据
- 智叔|很多家长还在整箱买:谈谈关于牛奶的17个真相警惕这些列入黑名单的“假牛奶”
- 关于微信小程序的思考:运营者该何去何从
- 关于人工智能虚拟人的一些问题
- 知乎上关于人生经验的介绍是否可能对青少年造成潜在危害
- 写下我关于做数据分析专员的困惑和各位的建议是
- 非物质文化遗产|市北文体中心一场关于“非遗”的盛会…
