Comments (3)
Hi @KrlosWd thanks for asking... I have seen those kind of errors. I can't give you a single reason why.
A couple of observations:
- why use 14 nodes for 35k publishers only? you could use way less nodes
- you can go faster than 40 rps for worker setup, if you want (and have configured enough acceptors)
- 35k msg/s into a single queue will likely just block that queue. If your use case is massive fan-in to a single consumer, you'd most likely have to user additional strategies.
from vmq_mzbench.
Hi @ioolkos, thanks for your quick answer,
As for your observations, it is worth to mention that I'm benchmarking the open source MQTT broker named mosquitto since I implemented some changes for some experiments I'm conducting for a research project, the problem with mosquitto is that it is single threaded. So having that in mind:
- why use 14 nodes for 35k publishers only? you could use way less nodes
The VM I have access to have limited CPU (actually a single core), thus I found out that having more than 3k publishers per node will cause the following error:
14:15:06.228 [error] emulator Error in process <0.10270.0> on node '[email protected]' with exit value:
{{badmatch,{error,timeout}},[{cpu_sup,measurement_server_init,0,[{file,"cpu_sup.erl"},{line,497}]}]}
14:15:51.412 [error] emulator Error in process <0.10277.0> on node '[email protected]' with exit value:
{{badmatch,{error,timeout}},[{cpu_sup,measurement_server_init,0,[{file,"cpu_sup.erl"},{line,497}]}]}
14:16:18.462 [error] emulator Error in process <0.10280.0> on node '[email protected]' with exit value:
{{badmatch,{error,timeout}},[{cpu_sup,measurement_server_init,0,[{file,"cpu_sup.erl"},{line,497}]}]}
14:17:09.136 [error] emulator Error in process <0.10283.0> on node '[email protected]' with exit value:
{{badmatch,{error,timeout}},[{cpu_sup,measurement_server_init,0,[{file,"cpu_sup.erl"},{line,497}]}]}
- you can go faster than 40 rps for worker setup, if you want (and have configured enough acceptors)
Since mosquitto is single threaded, the number of connections it can accept in one second is pretty limited. With 40 rps per node I have a total of 560 rps, however I think I could go higher than that, but I'm using this number as a safe rate in the mean time.
- 35k msg/s into a single queue will likely just block that queue. If your use case is massive fan-in to a single consumer, you'd most likely have to user additional strategies.
Each node uses a different topic, so I actually have 14 queues but I'm open to suggestions :D
from vmq_mzbench.
Thanks for your details @KrlosWd !
Keep us posted on your testing progress and any results with Mosquitto (which of course is incredibly powerful on 1 core)
from vmq_mzbench.
Related Issues (20)
- How to run with user/pass HOT 2
- why I got this error with Mzbench loadtest VerneMQ on my mac HOT 3
- Not getting any data from mqtt.message.consumed.total HOT 12
- mqtt.message.consumed.total is very low compared to published messages HOT 5
- Dynamic deadlock detected for 1_to_1 scenario HOT 2
- vmq_mzbench workers crashed with message "no function clause matching gen_emqtt:handle_frame(waiting_for_connack....)" HOT 7
- Plugin doesn't compile HOT 11
- Not able to start MZBENCH server HOT 3
- mzbench not connecting to the host specify in the scenario HOT 11
- Subscriber never receiving message Fan out HOT 9
- Could not compile on OSX HOT 1
- Syntax error on fan_out.bdl scenario HOT 1
- how to test auth for a lot of users HOT 6
- Cannot Start Server HOT 7
- Unable to use mqtt_worker HOT 2
- problem with loading client cert
- Not able to run scenarios on mzbench tool HOT 7
- Connections limit to 28k CCUs
- MQTT live messaging scenario HOT 4
- Receiving worker down crash errors : (Reason : no function clause matching rand:mk_alg(exsss) ) HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vmq_mzbench.