inovex / mqtt-stresser

Load testing tool to stress MQTT message broker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

initiate a client connection clean_session=false

Biswajeeban opened this issue · comments

The problem occurs while stress testing some brokers like Bevywise MQTT Route and HiveMq as they support only 25 clients to be connected in their evaluation versions.

MQTT Route keeps a client connection count which works based on the Clean Session. Hence what happens while connecting to the Broker Server(using MQTT Stresser) the second connection request from the same client​ ​(MQTT Stresser ) to publish/subscribe some msgs is being treated as a New client and client counter gets increased by 1 and thus exceeds 25.
screenshot from 2018-03-06 23-01-51

If we could initiate a client connection to the MQTTRoute setting the Clean session as false ( 0 ), It will treats the second connection request with the same unique Client ID as a re-connection and will not increase the connected client count and I can conduct some fare stress test keeping all the testing parameters constant for all the brokers that I put for evaluation of performace.

@bechtoldt any thoughts on this?

sure, there's an option to set CleanSession to false. we would just have to make it configurable while keeping "true" as default and make all MQTT client IDs (WorkerId) the same.