emqx / mqtt-jmeter

MQTT JMeter Plugin
https://www.emqx.com/en
Apache License 2.0
445 stars 194 forks source link

Subscribing to more than 20000 topics at once #86

Closed NewBermuda closed 4 years ago

NewBermuda commented 4 years ago

Hello!

I'm trying to test the server resource usage for when a single client subscribes to an increasing number of topics. I'm testing scenarios from 0 to 50000 topics subscribed using 5000 steps. I'm handing the very large topic list using the Jmeter command line. But at the 25000 step, JMeter is telling me that sudo said that 'argument list is too long'. Can you think of a work around? I only found one where I would have to recompile the linux kernel.

Kind regards

chongyuanyin commented 4 years ago

Is it possible to save the topic list somewhere else, for example, csv file, and read it via CSV Data Set Config?

NewBermuda commented 4 years ago

Is it possible to save the topic list somewhere else, for example, csv file, and read it via CSV Data Set Config?

Thanks for the advice. However, I have problems reading in the list of topics using the CSV. Could you maybe look at at my testplan and the text csv file to see where the problem is? For this first example, I just tried to let the client subscribe to three simple topics "1", "2", and "3". Tried different ways to format the csv text file but nothing worked. testplans.zip

chongyuanyin commented 4 years ago

By using your csv file, the client does subscribe to 3 topics on my side, e.g. "1", "2" and "3". As the comma is used as a separation in topic list in sub sampler, you can set the "Delimiter" in CSV Data Set Config to a different symbol so it won't conflict with the comma-separation. Not sure if I understood your question correctly...

NewBermuda commented 4 years ago

Thanks for the response! After trying again today, it actually worked for me as well. I was also able to create a csv with 35000 topics and it worked great. Thanks for the advice.