aeron - Aeron MDC (Multi-Destination-Cast) 性能
问题描述
我在玩 Aeron mdc,发现在达到网络容量之前,发布性能会随着订阅者的增加而下降。
案例是1个节点1个发布,以150MB/s的速度发送数据,另外4个节点的3个订阅者接收数据,网络容量为2GB/s。
添加更多订阅者时,会有背压,发送速度会下降。我想这在达到网络容量之前不应该存在。
是Aeron的问题吗?还是我做错了?我该如何解决这个问题,因为我有更多的订阅者。非常感谢您的回答。
解决方案
无论是否使用 MDC,您都需要正确配置缓冲区大小以获得最佳性能。我可以从您的一位订阅者的数据中看出,情况并非最佳,但这超出了您的问题范围。
使用 MDC,每个接收器都有自己的单播流。MDC 可用于在不支持多播的环境中模拟多播。这些单播流中的每一个都消耗部分带宽,并最终使来自生产者的传出链路饱和。
所以综上所述,MDC会消耗与接收器数量直接相关的带宽。
推荐阅读
- android - 在 Android 中正确模拟和测试交互器类
- android - 从 Kotlin 中的 AsyncTask 返回一个值
- javascript - 根据id转换json数组
- php - URL PHP 基本身份验证这是一个安全问题吗?
- javascript - 如何修复 CodeMirror 中的输入问题
- php - 安装 Phalcon 3.4.3 并获得 4.0 Alpha
- javascript - 来自数组的 RxJS - 观察数组并在更改时写入控制台?
- java - 如何将负数格式化为括号?
- .net-core - 将 Microsoft nuget 与较低的 dotnet 核心版本相结合
- image-processing - 图像分割中的高阶势解释