device-simulator
device-simulator copied to clipboard
基于netty的设备模拟器,模拟设备消息收发,压力测试。
设备模拟器
运行前请先安装java8.
交互式CLI
$ git clone https://github.com/jetlinks/device-simulator.git
$ cd device-simulator
$ mvn clean package -DskipTests
$ java \
-Dfile.encoding=UTF-8 \
-Xmx1G \
-Dsimulator.max-ports=50000 \
"-Dsimulator.network-interfaces=.*" \
-jar ${PWD}/simulator-cli/target/simulator-cli.jar
JVM参数说明:
-Dsimulator.network-interfaces: 指定可用的网卡,正则表达式. 如: eth0|eth1-Dsimulator.max-ports: 指定可用的端口数量,默认为50000
DEMO
MQTT 官方协议模拟
在项目根目录启动模拟器后执行命令:
benchmark mqtt --size=5000 --name=mqtt --host=127.0.0.1 --port=1883 --script=benchmark/mqtt/benchmark.js
注意: 默认的clientId格式在benchmark/mqtt/benchmark.js中定义,默认为mqtt-test-{index}.
可修改代码或者通过命令参数deviceIdPrefix=mqtt-test-来修改.
TCP 官方协议模拟
在项目根目录启动模拟器后执行命令:
benchmark tcp --size=1 --id=tcp-test-{index} --name=tcp --host=127.0.0.1 --port=8801 --script=benchmark/tcp/benchmark.js
注意: --id=tcp-test-{index}参数,表示在平台的tcp设备id格式为tcp-test-{index},如:tcp-test-0
常见问题
- 连接提示
no further information ...,请在启动或者创建连接时指定网卡信息benchmark --interface 192....