Akasa 0.1.0 发布: 一个高性能低延迟的 MQTT server (broker)

💡 原文中文,约900字,阅读约需2分钟。
📝

内容提要

介绍了一个支持MQTT v3.1/v3.1.1/v5.0的高性能低延迟网络IO实现,支持多种协议和扩展服务器功能。经过测试,比较了多个MQTT服务器的性能表现。

🎯

关键要点

  • 支持 MQTT v3.1/v3.1.1/v5.0 的高性能低延迟网络 IO 实现
  • 支持 TLS/WebSocket/WebSocket-TLS 和 Proxy Protocol V2
  • 使用 io_uring(glommio) 提高网络 IO 性能
  • 提供 Hook trait 以方便扩展服务器功能
  • 经过认真测试,比较多个 MQTT 服务器的性能表现
  • 测试环境使用 Intel® Xeon® E5-2678 v3 CPU 和 32GB DDR4 内存
  • FlashMQ 在 250k 连接下仅使用 0.9GB 内存,表现优异
  • Akasa 和 EMQX 在 250k 连接下均使用 5GB 内存
  • VerneMQ 在 50k 连接下使用 20GB 内存,性能较差
  • FlashMQ 在 40k 连接下达到 600k 消息/秒,CPU 使用率 550%
  • Akasa 在 35k 连接下达到 500k 消息/秒,CPU 使用率 1050%
  • EMQX 在 20k 连接下达到 300k 消息/秒,CPU 使用率 3000%
  • VerneMQ 在 25k 连接下达到 370k 消息/秒,CPU 使用率 2600%
➡️

继续阅读