• MQTT Stresser


    go环境请参考https://www.cnblogs.com/saryli/p/9833253.html

    Load testing tool to stress MQTT message broker https://github.com/inovex/mqtt-stresser

    Build

    $ mkdir -p ${GOPATH}/src/github.com/inovex/
    $ git clone https://github.com/inovex/mqtt-stresser.git ${GOPATH}/src/github.com/inovex/mqtt-stresser/
    $ cd ${GOPATH}/src/github.com/inovex/mqtt-stresser/
    $ make


    This will build the mqtt stresser for all target platforms and write them to the build/ directory.

    Binaries are provided on Github, see https://github.com/inovex/mqtt-stresser.

    If you want to build the Docker container version of this, go to repository directory and simply type docker build .

    Install

    Place the binary somewhere in a PATH directory and make it executable (chmod +x mqtt-stresser).

    If you are using the container version, just type docker run flaviostutz/mqtt-stresser [options] for running mqtt-stresser.

    Configure

    See mqtt-stresser -h for a list of available arguments.

    Run

    Simple hello-world test using the public broker.mqttdashboard.com broker: (please don't DDoS them :))

    $ mqtt-stresser -broker tcp://broker.mqttdashboard.com:1883 -num-clients 100 -num-messages 150 -rampup-delay 1s -rampup-size 10 -global-timeout 180s -timeout 20s
    
    10 worker started - waiting 1s
    20 worker started - waiting 1s
    30 worker started - waiting 1s
    40 worker started - waiting 1s
    50 worker started - waiting 1s
    60 worker started - waiting 1s
    70 worker started - waiting 1s
    80 worker started - waiting 1s
    90 worker started - waiting 1s
    100 worker started
    ....................................................................................................
    # Configuration
    Concurrent Clients: 100
    Messages / Client:  15000
    
    # Results
    Published Messages: 15000 (100%)
    Received Messages:  15000 (100%)
    Completed:          100 (100%)
    Errors:             0 (0%)
    
    # Publishing Throughput
    Fastest: 79452 msg/sec
    Slowest: 14991 msg/sec
    Median: 42093 msg/sec
    
      < 21437 msg/sec  6%
      < 27883 msg/sec  21%
      < 34329 msg/sec  33%
      < 40776 msg/sec  48%
      < 47222 msg/sec  57%
      < 53668 msg/sec  65%
      < 60114 msg/sec  73%
      < 66560 msg/sec  85%
      < 73006 msg/sec  95%
      < 79452 msg/sec  99%
      < 85898 msg/sec  100%
    
    # Receiving Througput
    Fastest: 4102 msg/sec
    Slowest: 65 msg/sec
    Median: 1919 msg/sec
    
      < 469 msg/sec  33%
      < 1276 msg/sec  34%
      < 1680 msg/sec  38%
      < 2083 msg/sec  62%
      < 2487 msg/sec  85%
      < 2891 msg/sec  93%
      < 3295 msg/sec  98%
      < 4102 msg/sec  99%
      < 4506 msg/sec  100%
    

    If using container,

    $ docker run inovex/mqtt-stresser -broker tcp://broker.mqttdashboard.com:1883 -num-clients 100 -num-messages 10 -rampup-delay 1s 
  • 相关阅读:
    Java设计模式(十二) 策略模式
    Java设计模式(二) 工厂方法模式
    Java设计模式(一) 简单工厂模式不简单
    Kafka设计解析(四)- Kafka Consumer设计解析
    Kafka设计解析(三)- Kafka High Availability (下)
    Kafka设计解析(二)- Kafka High Availability (上)
    Spark 灰度发布在十万级节点上的成功实践 CI CD
    Spark SQL / Catalyst 内部原理 与 RBO
    Java进阶(七)正确理解Thread Local的原理与适用场景
    Kafka设计解析(八)- Exactly Once语义与事务机制原理
  • 原文地址:https://www.cnblogs.com/saryli/p/9833210.html
Copyright © 2020-2023  润新知