硬件环境:
内存4G
CPU4核

SERVER及端口:
apollo端口 61619
mosquitto:端口 1884
activeMQ端口:1883
emqtt 端口1885

测试方法
并发测试:192.168.6.156 上用 emqttd_benchmark 测试 192.168.6.157 上的各MQTT SERVER 并发量
消息发送测试:本地电脑 用php程序 使用一个客户端连接情况下 发送10万消息 到 192.168.6.157上的各MQTT SERVER。

测试时间:1个工作日。

默认 retain=0 非持久化消息。

QoS0: 最多一次 服务器与 客户端 交互1次 。
QoS1 :至少一次 服务器与 客户端 交互2次 。
QoS2:洽好一次 服务器与 客户端 交互4次 。

测试结果:
mosquitto:
发送消息:QoS0: 18.57秒 cpu:10% , QoS1: 86.9秒 cpu 10% , QoS2: 157秒 cpu 10% , retain=1的各值和retain=0几乎一样 。
并发连接: 第1次:12000 第二次11000 第3次 12200 cpu占用 25%左右
稳定性高

apollo :
发送消息:QoS0 18.37秒 cpu 30% ,QoS1 215秒cpu40% ,QoS2: 超时
并发连接 :第1次 11000 第2次 12200 第3次 15200 第4次 13900 cpu:45%

activeMQ :
发送消息:QoS0 18.41秒 cpu 50% , QoS1 超时
并发连接 :第1次 28200 第2次 28000 有2次测试后服务出现崩溃 cpu:70%

emqtt :
发送消息: QoS0 66秒 cpu: 80%, QoS1 204秒 cpu: 55%
并发连接 27600 第二次 19000 第3次28200 第4次28200 cpu 70%
稳定性高
—-

在测试中,发现 mosquitto无法利用多核,emqtt 磁盘io高,activeMQ占内存比较高。

后来发现是benchmark程序的原因,无法高并发,可以多台开benchmark 程序一起执行,那以上并发结果就要翻倍了
结论:emqtt,并发最高,但cpu占用较高,稳定性高。消息发送较慢。
moqtuitto ,发送消息快,稳定性高,cpu占用很少,并发比较高。
其它2个稳定性不太高。

以上数据仅供参考 。

转自:https://blog.csdn.net/educast/article/details/78352641?utm_source=copy 

转MQTT SERVER 性能测试报告的更多相关文章

  1. Darwin Streaming Server性能测试报告

    为了验证Darwin Streaming Server在流媒体点播上的性能,EasyDarwin开源项目官方特地与国内某大型视频网站进行了一次性能测试(千兆网络环境下),针对本次RTSP直播流媒体测试 ...

  2. MQTT开发笔记之《MQTT Server》

    MQTT SERVER 性能测试报告 : http://w3yyb.sinaapp.com/archives/1601各个MQTT SERVER功能列表: http://blog.lenix.xyz/ ...

  3. 初涉SQL Server性能问题(4/4):列出最耗资源的会话

    在上3篇文章里,我们讨论了列出反映服务器当前状态的不同查询. 初涉SQL Server性能问题(1/4):服务器概况 初涉SQL Server性能问题(2/4):列出等待资源的会话 初涉SQL Ser ...

  4. 初涉SQL Server性能问题(3/4):列出阻塞的会话

    在 初涉SQL Server性能问题(2/4)里,我们讨论了列出等待资源或正运行的会话脚本.这篇文章我们会看看如何列出包含具体信息的话阻塞会话清单. /************************ ...

  5. 初涉SQL Server性能问题(2/4):列出等待资源的会话

    在初涉SQL Server性能问题(1/4)里,我们知道了如何快速检查服务器实例上正运行的任务数和IO等待的任务数.这个是轻量级的脚本,不会给服务器造成任何压力,即使服务器在高负荷下,也可以正常获得结 ...

  6. SQL Server 性能调优培训引言

    原文:SQL Server 性能调优培训引言 大家好,这是我在博客园写的第一篇博文,之所以要开这个博客,是我对MS SQL技术学习的一个兴趣记录. 作为计算机专业毕业的人,自己对技术的掌握总是觉得很肤 ...

  7. SQL Server 性能优化(一)——简介

    原文:SQL Server 性能优化(一)--简介 一.性能优化的理由: 听起来有点多余,但是还是详细说一下: 1.节省成本:这里的成本不一定是钱,但是基本上可以变相认为是节省钱.性能上去了,本来要投 ...

  8. SQL Server 性能优化之——系统化方法提高性能

    SQL Server 性能优化之——系统化方法提高性能 阅读导航 1. 概述 2. 规范逻辑数据库设计 3. 使用高效索引设计 4. 使用高效的查询设计 5. 使用技术分析低性能 6. 总结 1. 概 ...

  9. intel Xeon(R) CPU E5-2650 v2 性能测试报告

                                          intel  Xeon(R) CPU E5-2650 v2                                 ...

随机推荐

  1. HDU 多校1.4

    Division Game Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  2. Hibernate——5.2配置

    Hibernate 5.2才刚刚出来不久,很多资料都并不可靠,终于完成了Hibernate的启动,的确和Hibernate4.x有些不同. 官方文档中的代码代码会报错 如下: 目前在我所知的范围内有两 ...

  3. 25、Django实战第25天:讲师详情页

    1.复制teacher-detail.html到templates目录下 2.编辑teacher-detail.html,继承base.html 3.编辑organization.view.py cl ...

  4. RabbitMQ (三) 工作队列之轮询分发

    上一篇讲了简单队列,实际工作中,这种队列应该很少用到,因为生产者发送消息的耗时一般都很短,但是消费者收到消息后,往往伴随着对高消息的业务逻辑处理,是个耗时的过程,这势必会导致大量的消息积压在一个消费者 ...

  5. bzoj 2660: [Beijing wc2012]最多的方案

                       Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 617  Solved: 361[Submit][Status][ ...

  6. 【枚举】【二分答案】【分块答案】【BFS】【最大流】【Dinic】bzoj1189 [HNOI2007]紧急疏散evacuate

    [法一]枚举Time(0~N*M): S->'.'(1); 'D'->T(Time); '.'->'D'(dis(用BFS预处理,注意一旦到达'D',BFS就不能继续扩展了,注意di ...

  7. 【单调队列优化DP】BZOJ1855-[Scoi2010]股票交易

    [题目大意] 已知第i天的股票买入价为每股APi,第i天的股票卖出价为每股BPi(数据保证对于每个i,都有APi>=BPi),第i天的一次买入至多只能购买ASi股,一次卖出至多只能卖出BSi股. ...

  8. (转)unity web 缓存解决方案

    unity web 缓存解决方案 官方发布 web版限制五十M缓存,根据自己的经验绕了过去,解决了缓存的问题.带工程,带源代码.由于本人的水平也有限,是用JS来解决的,如果你还是没有头绪,可以购买来试 ...

  9. Oracle常见故障问题

    1. ORA-27102: out of memory 创建pfile文件: create pfile from spfile: 修改pfile文件 修改文件/home/oracle/app/orac ...

  10. 大规模请求下,Linux 服务器连接数优化设置

    作者:heiyeluren 一般一个大规模Linux服务器请求数可能是几十万上百万的情况,需要足够的连接数来使用,所以务必进行相应的设置. 默认的Linux服务器文件描述符等打开最大是1024,用 u ...