EMQ百万级MQTT消息服务(TLS压测和流量消耗)


声明:本文转载自https://my.oschina.net/wenzhenxi/blog/1824647,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

在深入使用EMQ以及MQTT协议之后有一些心得和大伙分享一下

附上:

喵了个咪的博客:w-blog.cn EMQ官方地址:http://emqtt.com/ EMQ中文文档:http://emqtt.com/docs/v2/guide.html

1.流量消耗

我们知道在MQTT心跳的时候消耗为2字节,但是实际上测试下来60秒心跳间隔,一天花费了250KB流量,平均下来一次心跳0.17KB,要是使用了证书每天消耗有470KB左右一次心跳0.32KB左右

这貌似和所谓的最小2b的心跳大小不符合呀,随后笔者拜托了测试同事进行了抓包发现一次心跳会有三个阶段,ping->pone->ack 关于这三个阶段的消耗如下

PS : 结论貌似是这样的,笔者也是小白不太清楚具体的原因希望有大神能够解答一下

TLS证书带来的消耗

关于另外一个问题就是TLS,使用TLS当然能带来很多好处,最直接的就是安全度提高了,但是在使用之前要考虑清楚TLS带来的消耗:

  • 第一是流量上的消耗,心跳包几乎翻了倍
  • 第二就是性能上 TCP 1G内存可以维持5W的链接数,使用TLS 1G内存只能维持1.5W左右的链接数

以下是笔者压测TLS的结果

  • 12W链接 8GB内存消耗
  • 15W链接 CPU维持利用率在 100% ~ 150%
  • 25W链接 12GB内存消耗
  • 每秒链接速度 3000/S 4核心剩余20%空闲

以下是对应的页面是25W TLS链接的消耗

还有一些小问题

  • 如果EMQ重启 作为服务端虽然能够连上,但是对 topic 订阅丢失
  • 使用K8S部署 无法突破65536限制, 最大连接数被限制到65536

本文发表于2018年06月05日 18:00
(c)注:本文转载自https://my.oschina.net/wenzhenxi/blog/1824647,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2975 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1