Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. MQTT
  3. mqtt-malaria

mqtt-malaria

BSD-2-ClausePython

A set of Python tools for scalability and load testing of MQTT environments by simulating high-volume publishers and subscribers.

GitHubGitHub
265 stars57 forks0 contributors

What is mqtt-malaria?

MQTT-Malaria is a Python-based toolset for load testing and scalability analysis of MQTT message brokers and systems. It simulates high volumes of MQTT publishers and subscribers to measure performance, message delivery reliability, and timing characteristics under various load conditions. The project helps identify bottlenecks and validate the capacity of MQTT infrastructures.

Target Audience

IoT developers, MQTT system administrators, and performance engineers who need to validate the scalability and reliability of their MQTT-based messaging systems before deployment.

Value Proposition

Unlike generic load testing tools, MQTT-Malaria is specifically designed for MQTT protocols with features like QoS simulation, timing-instrumented messages, and multi-process client emulation. It provides detailed statistical output that helps pinpoint performance issues in MQTT broker implementations.

Overview

Attacking MQTT systems with Mosquittos (scalability and load testing utilities for MQTT environments)

Use Cases

Best For

  • Testing MQTT broker performance under high concurrent client loads
  • Simulating realistic IoT device message patterns with controlled publish rates
  • Measuring message delivery latency and reliability across different QoS levels
  • Validating MQTT infrastructure scalability before production deployment
  • Comparing performance between different MQTT broker implementations
  • Stress testing MQTT systems with thousands of simulated publishers and subscribers

Not Ideal For

  • Projects requiring modern Python 3 compatibility and active community support
  • Teams looking for a GUI-based or real-time monitoring interface for load testing
  • Scenarios where testing needs to include MQTT 5.0 features or non-MQTT messaging protocols
  • Environments needing out-of-the-box TLS/SSL security testing for MQTT brokers

Pros & Cons

Pros

Realistic Multi-Client Simulation

Uses multi-process publishing with the -P flag to mimic hundreds or thousands of separate MQTT clients concurrently, as demonstrated in examples simulating 500 processes.

Configurable Message Patterns

Supports fixed-size, Gaussian-distributed message sizes, and timing-instrumented payloads for flight time tracking, allowing varied and realistic test scenarios.

Rate-Controlled Publishing

Allows setting target messages per second with the -T flag, enabling simulation of real-world device behavior and controlled load generation.

Detailed Statistical Output

Provides per-client and aggregate metrics including success rates, mean/stddev timing, and messages per second, as evidenced in the verbose example outputs with timing data.

Cons

Outdated Dependencies

Requires Python 2 and paho-mqtt library from 2015, which are no longer supported and may have compatibility issues with modern systems and broker implementations.

Limited Subscriber Features

Subscriber side requires timing-instrumented payloads and operates in single-threaded mode, limiting flexibility for multi-threaded or varied subscriber testing scenarios.

Dormant Project Status

The project has not been actively developed since 2015, with minimal bugfix support and no new features, as explicitly stated in the README status section.

System Configuration Complexity

For high process counts, manual adjustment of ulimit settings is required, adding complexity to setup and execution for large-scale tests.

Frequently Asked Questions

Quick Stats

Stars265
Forks57
Contributors0
Open Issues10
Last commit4 years ago
CreatedSince 2013

Tags

#load-testing#performance-testing#mqtt#fabric#network-testing#python#message-broker

Built With

p
paho-mqtt
P
Python
F
Fabric

Included in

MQTT2.3k
Auto-fetched 1 day ago

Related Projects

MQTTXMQTTX

A Powerful and All-in-One MQTT 5.0 client toolbox for Desktop, CLI and WebSocket.

Stars4,915
Forks534
Last commit2 days ago
MQTT TUIMQTT TUI

Subscribe to a MQTT Topic or publish something quickly from the terminal

Stars669
Forks36
Last commit7 days ago
hivemq-mqtt-web-clienthivemq-mqtt-web-client

A websockets based MQTT Client for your browser.

Stars361
Forks137
Last commit2 years ago
MQTT CLIMQTT CLI

MQTT CLI is a useful command line interface for connecting various MQTT clients supporting MQTT 5.0 and 3.1.1

Stars361
Forks49
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub