Skip to content

Latest commit

 

History

History
38 lines (30 loc) · 2.03 KB

README.md

File metadata and controls

38 lines (30 loc) · 2.03 KB

performance-tests

ThingsBoard MQTT Broker performance tests.

Project that is able to stress test ThingsBoard MQTT broker with a huge number of MQTT messages published simultaneously from different clients.

Prerequisites

Running

See k8s README for more details.

Main configuration parameters:

  • HTTP_BIND_PORT - port of the server. Default: 8088
  • MQTT_HOST - URL of the ThingsBoard MQTT broker. Default: localhost
  • MQTT_PORT - port of the ThingsBoard MQTT broker. Default: 1883
  • TB_URI - URI of the ThingsBoard MQTT broker. Default: http://localhost:8083
  • TB_ADMIN_USERNAME - ThingsBoard MQTT broker username. Default: [email protected]
  • TB_ADMIN_PASSWORD - ThingsBoard MQTT broker password. Default: sysadmin
  • ORCHESTRATION_NODE - if run service as orchestrator(node that orchestrate the cluster of runners) or runner(node that creates clients and publish messages, etc.). Values: true/false
  • TEST_RUN_TEST_ORCHESTRATOR_URL - orchestrator node URL
  • TEST_RUN_TEST_NODE_URL - runner node URL
  • TEST_RUN_CONFIGURATION_FILE - path to performance test configuration file
  • TEST_RUN_SEQUENTIAL_NUMBER - sequential number of runner nodes
  • TEST_RUN_PARALLEL_TESTS_COUNT - how many test nodes (runners) will be launched
  • TEST_RUN_TOTAL_TESTS_COUNT - sum of test nodes when subscribers and publishers are separated
  • TEST_RUN_MAX_CLUSTER_WAIT_TIME_SECONDS - max time in seconds to wait in runners and orchestrator for others to be ready
  • TEST_RUN_CLUSTER_PROCESS_WAIT_TIME_SECONDS - max time in seconds to wait for clients to connect/subscribe to topics
  • TEST_RUN_CLEAR_PERSISTED_SESSIONS_WAIT_TIME_SECONDS - max time in seconds to wait to clear persisted sessions
  • TEST_RUN_WAIT_TIME_MS_AFTER_CLIENTS_DISCONNECT - time in milliseconds to sleep after the clients started disconnecting
  • TEST_RUN_MAX_TOTAL_CLIENTS_PER_ITERATION - max number out of all publishers that will be used per publishing iteration