Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
MQTT: Mosquitto broker queue test #5
If you want to take a look and compare, I wrote some code to test_client.py and also a mqtt_pubsub.py wrapper in order to include MQTT protocol to the comparison you made. It is meant to be used with Mosquitto broker.
I run a test on a Ubuntu 12.04 64 bits, Intel Core2quad Q9550. Everything installed as your Readme suggests, Redis and Mosquitto from official Ubuntu repository with default configuration. My results point out that ZeroMQ is still quicker and that it takes advantage (like redis) from multiple core while Mosquitto is still quicker than Redis its results clearly shows that broker is not multi-core aware. I will run this on another machine, a Phenon X4/X6 to have something to compare with.
Anyway, I had not so experienced with python and if someone finds any issue with mqtt_pubsub.py I will gladly merge corrections. I have no experience with Go language so I still did not write any Go client to Mosquitto.
Thanks for your work, I would not get so far without your original code. This study will be decisive in a research I am conducting here.
File was based on zmq_pubsub, now most converted to use Mosquitto. Still need to implement listen function.
Instead of rewriting listen function, wrote a blocking recv function to behave similar as ZeroMQ recv.
Rewrite the subscribe to avoid error when subscribing. This allowed listen to work correct with test_client script.
Bench now runs test_client with "--mqtt" option and plot results together ZeroMQ and Redis results
Gnuplot was not working while running bench.py. The .png files were being generated as null. The fact is bench.py was calling gnuplot from working directory and not from output directory. The result was gnuplot did not find that .dat files with data to plot. This fix avoids manual generation of .png file by issuing gnuplot command inside output directory.