• MQTT SERVER 性能测试报告



    硬件环境:
    内存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个稳定性不太高。
    以上数据仅供参考 。

  • 相关阅读:
    windows 10下ELK环境快速搭建实践
    Windows 10下搭建以太坊私有链环境
    线程状态转换图
    JAVA中IO技术:BIO、NIO、AIO
    MySQL MDL锁的阻塞问题 & online ddl的插队现象【转发】
    MySQL InnoDB MVCC 能否完全解决幻读?
    Linux 计算 存储 网络 统计命令
    MySQL B+ tree & B tree & Hash
    mmap学习总结
    Linux内存分配小结--malloc、brk、mmap【转】
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317651.html
Copyright © 2020-2023  润新知