emqx / Emqtt Bench
Licence: apache-2.0
Erlang MQTT v5.0 Benchmark Tool
Stars: ✭ 297
Programming Languages
erlang
1774 projects
Labels
Projects that are alternatives of or similar to Emqtt Bench
Home Assistant EDP Box
Integração das EDP Box com Home Assistant Core
Stars: ✭ 91 (-69.36%)
Mutual labels: mqtt
Openremote
100% open-source IoT Platform - Integrate your assets, create rules, and visualize your data
Stars: ✭ 254 (-14.48%)
Mutual labels: mqtt
espRFLinkMQTT
ESP8266 gateway between RFLink and MQTT server
Stars: ✭ 72 (-75.76%)
Mutual labels: mqtt
Fuxa
Web-based Process Visualization (SCADA/HMI/Dashboard) software
Stars: ✭ 262 (-11.78%)
Mutual labels: mqtt
meross pair
Android APP that allows pairing Meross Devices with third party MQTT brokers
Stars: ✭ 18 (-93.94%)
Mutual labels: mqtt
Gmqtt
Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1 and V5 in golang
Stars: ✭ 290 (-2.36%)
Mutual labels: mqtt
Tuya Convert
A collection of scripts to flash Tuya IoT devices to alternative firmwares
Stars: ✭ 3,338 (+1023.91%)
Mutual labels: mqtt
Streamsheets
An open-source tool for processing stream data using a spreadsheet-like interface.
Stars: ✭ 281 (-5.39%)
Mutual labels: mqtt
ESPressIoT
This project covers somewhat advances features for an espresso machine controller.
Stars: ✭ 31 (-89.56%)
Mutual labels: mqtt
Emitter
High performance, distributed and low latency publish-subscribe platform.
Stars: ✭ 3,130 (+953.87%)
Mutual labels: mqtt
Dashboard
🌟 Create IoT applications. Wire devices together regardless their brand or technology.
Stars: ✭ 283 (-4.71%)
Mutual labels: mqtt
ejyy
「e家宜业」是一整套开源智慧物业解决方案,基于nodejs、typescript、koa、vue开发,包含web中台、业主小程序、员工小程序、公众号、物联网应用等,涵盖业主服务、物业运营、智能物联、数据统计等主要业务。
Stars: ✭ 561 (+88.89%)
Mutual labels: mqtt
luftdatenpumpe
Process live and historical data from luftdaten.info, IRCELINE and OpenAQ. Filter by station-id, sensor-id and sensor-type, apply reverse geocoding, store into timeseries and RDBMS databases, publish to MQTT, output as JSON or visualize in Grafana.
Stars: ✭ 22 (-92.59%)
Mutual labels: mqtt
Kmansonoff
Firmware for ESP8266 based itead Sonoff switches for use with HomeAssistant / mqtt
Stars: ✭ 282 (-5.05%)
Mutual labels: mqtt
Paho.mqtt.wxapp
接MQTT相关项目 paho.mqtt.wxapp可以让你在微信小程序里连接MQTT broker,实现在小程序里控制硬件,也可用于游戏,已测试的broker有mosquitto、emqtt、hivemq、百度物联网 MQTT QQ群:679985050
Stars: ✭ 295 (-0.67%)
Mutual labels: mqtt
Awesome Home Assistant
A curated list of amazingly awesome Home Assistant resources.
Stars: ✭ 3,487 (+1074.07%)
Mutual labels: mqtt
Erlang MQTT Benchmark Tool
emqtt_bench
is a simple MQTT v5.0 benchmark tool written in Erlang.
Requires Erlang/OTP R21.2+ to build.
Build first
make
Connect Benchmark
$ ./emqtt_bench conn --help
Usage: emqtt_bench conn [--help <help>] [-h [<host>]] [-p [<port>]]
[-c [<count>]] [-n [<startnumber>]]
[-i [<interval>]] [-u <username>] [-P <password>]
[-k [<keepalive>]] [-C [<clean>]] [-S [<ssl>]]
[--certfile <certfile>] [--keyfile <keyfile>]
[--ifaddr <ifaddr>] [--prefix <prefix>]
--help help information
-h, --host mqtt server hostname or IP address [default:
localhost]
-p, --port mqtt server port number [default: 1883]
-V, --version mqtt protocol version: 3 | 4 | 5 [default: 5]
-c, --count max count of clients [default: 200]
-n, --startnumber start number [default: 0]
-i, --interval interval of connecting to the broker [default: 10]
-u, --username username for connecting to server
-P, --password password for connecting to server
-k, --keepalive keep alive in seconds [default: 300]
-C, --clean clean session [default: true]
-S, --ssl ssl socoket for connecting to server [default: false]
--certfile client certificate for authentication, if required by
server
--keyfile client private key for authentication, if required by
server
--ifaddr local ipaddress or interface address
--prefix client id prefix
For example, create 50K concurrent connections at the arrival rate of 100/sec:
./emqtt_bench conn -c 50000 -i 10
Sub Benchmark
$ ./emqtt_bench sub --help
Usage: emqtt_bench sub [--help <help>] [-h [<host>]] [-p [<port>]]
[-V [<version>]] [-c [<count>]]
[-n [<startnumber>]] [-i [<interval>]]
[-t <topic>] [-q [<qos>]] [-u <username>]
[-P <password>] [-k [<keepalive>]] [-C [<clean>]]
[-S [<ssl>]] [--certfile <certfile>]
[--keyfile <keyfile>] [--ws [<ws>]]
[--ifaddr <ifaddr>] [--prefix <prefix>]
--help help information
-h, --host mqtt server hostname or IP address [default: localhost]
-p, --port mqtt server port number [default: 1883]
-V, --version mqtt protocol version: 3 | 4 | 5 [default: 5]
-c, --count max count of clients [default: 200]
-n, --startnumber start number [default: 0]
-i, --interval interval of connecting to the broker [default: 10]
-t, --topic topic subscribe, support %u, %c, %i variables
-q, --qos subscribe qos [default: 0]
-u, --username username for connecting to server
-P, --password password for connecting to server
-k, --keepalive keep alive in seconds [default: 300]
-C, --clean clean start [default: true]
-S, --ssl ssl socoket for connecting to server [default: false]
--certfile client certificate for authentication, if required by server
--keyfile client private key for authentication, if required by server
--ws websocket transport [default: false]
--ifaddr local ipaddress or interface address
--prefix client id prefix
For example, create 50K concurrent connections at the arrival rate of 100/sec:
./emqtt_bench sub -c 50000 -i 10 -t bench/%i -q 2
Pub Benchmark
$ ./emqtt_bench pub --help
Usage: emqtt_bench pub [--help <help>] [-h [<host>]] [-p [<port>]]
[-V [<version>]] [-c [<count>]]
[-n [<startnumber>]] [-i [<interval>]]
[-I [<interval_of_msg>]] [-u <username>]
[-P <password>] [-t <topic>] [-s [<size>]]
[-q [<qos>]] [-r [<retain>]] [-k [<keepalive>]]
[-C [<clean>]] [-S [<ssl>]]
[--certfile <certfile>] [--keyfile <keyfile>]
[--ws [<ws>]] [--ifaddr <ifaddr>] [--prefix <prefix>]
--help help information
-h, --host mqtt server hostname or IP address [default: localhost]
-p, --port mqtt server port number [default: 1883]
-V, --version mqtt protocol version: 3 | 4 | 5 [default: 5]
-c, --count max count of clients [default: 200]
-n, --startnumber start number [default: 0]
-i, --interval interval of connecting to the broker [default: 10]
-I, --interval_of_msg interval of publishing message(ms) [default: 1000]
-u, --username username for connecting to server
-P, --password password for connecting to server
-t, --topic topic subscribe, support %u, %c, %i variables
-s, --size payload size [default: 256]
-q, --qos subscribe qos [default: 0]
-r, --retain retain message [default: false]
-k, --keepalive keep alive in seconds [default: 300]
-C, --clean clean start [default: true]
-L, --limit The max message count to publish, 0 means unlimited [default: 0]
-S, --ssl ssl socoket for connecting to server [default: false]
--certfile client certificate for authentication, if required by server
--keyfile client private key for authentication, if required by server
--ws websocket transport [default: false]
--ifaddr local ipaddress or interface address
--prefix client id prefix
For example, create 100 connections and each publishes messages at the rate of 100 msg/sec.
./emqtt_bench pub -c 100 -I 10 -t bench/%i -s 256
Local interface
./emqtt_bench pub --ifaddr 192.168.1.10
./emqtt_bench sub --ifaddr 192.168.2.10
One-way SSL Socket
./emqtt_bench sub -c 100 -i 10 -t bench/%i -p 8883 -S
./emqtt_bench pub -c 100 -I 10 -t bench/%i -p 8883 -s 256 -S
Two-way SSL Socket
./emqtt_bench sub -c 100 -i 10 -t bench/%i -p 8883 --certfile path/to/client-cert.pem --keyfile path/to/client-key.pem
./emqtt_bench pub -c 100 -i 10 -t bench/%i -s 256 -p 8883 --certfile path/to/client-cert.pem --keyfile path/to/client-key.pem
Notice
You should not set '-c' option more than 60K for TCP ports limit on one interface.
Author
EMQ X Team.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].