点击空白处退出提示
作品详情
存在的问题: 并发数据无法提升,只能维持在300路左右。
分析原因:
1. 网卡抓包数据并发多时会丢包
2. 业务处理太慢,导致队列阻塞,最终会导致1丢包。
3. 推送 udp 数据会丢包。
解决方案:
1. 替换底层的库,由之前的 libcap 转成 mmap ,可以减少一次内存分配,有助于减少丢包。
2. 解析到 udp 数据之后,立即分发,不做 rtp 的解析和相关解码工作,使得分发速度提升。
3. 针对 udp 丢包情况,接收端一方面要提升缓存 buffer 的大小,另一方面还要接收到数据之后立即分发,由其他线程来处理数据。 另外提供 grpc 的通信模式。
4. 优化了一些业务逻辑不合理的情况,保证了代码结构的可维护性。
经过以上几点的优化,vas 的并发能力稳定地保持在2000路,提升了项目的交付能力。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论