Advertisement
Guest User

Untitled

a guest
Oct 10th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. # MQTT Performance test script
  2. # Set parameters like QOS and KEEPALIVE and observe its throughput
  3. #
  4. # usage:
  5. # $ CLEAN=true KEEPALIVE=0 INTERVAL=500 QOS=1 node mqtt_performance_test.js
  6. #
  7. var mqtt = require('mqtt');
  8. var host = process.env['HOSTNAME'] || "localhost";
  9. var port = process.env['PORT'] || 1883;
  10. var user = process.env['USERNAME'] || "guest";
  11. var pass = process.env['PASSWORD'] || "guest";
  12. var topic = process.env['TOPIC'] || "test";
  13. var clean = process.env['CLEAN'] || true;
  14. var qos = parseInt(process.env['QOS']) || 0;
  15. var keepalive = parseInt(process.env['KEEPALIVE']) || 0;
  16. var interval = parseInt(process.env['INTERVAL']) || 5000;
  17.  
  18. var counter = 0;
  19.  
  20. function count() {
  21. console.log('[send]', Math.round(counter / interval * 1000), 'msg/s');
  22. counter = 0;
  23. }
  24.  
  25. setInterval(count, interval);
  26.  
  27. var client = mqtt.connect({
  28. host: host,
  29. port: port,
  30. username: user,
  31. password: pass,
  32. clean: clean,
  33. keepalive: keepalive,
  34. encoding: 'binary'
  35. });
  36.  
  37. function immediatePublish() {
  38. setImmediate(publish);
  39. }
  40.  
  41. function publish() {
  42. counter++;
  43. client.publish(topic, counter.toString(), {qos: qos}, immediatePublish);
  44. }
  45.  
  46. client.on('connect', function(){
  47. console.log('[send] connected to', user, host, port, topic, qos, clean, keepalive);
  48. publish();
  49. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement