> ## Content Index
> Fetch the complete content index at: https://www.process-one.net/llms.txt
> Use this file to discover other available public pages before exploring further.

# Announcing RTB, an open source real-time protocols benchmark tool
- URL: https://www.process-one.net/blog/announcing-rtb-an-open-source-real-time-protocols-benchmark-tool/
- Published: 2018-07-12T22:00:00.000Z
- Updated: 2024-09-17T14:19:08.000Z
- Author: ProcessOne

[ProcessOne](https://www.process-one.net/) is excited today to announce the first release of [RTB](https://github.com/processone/rtb?ref=process-one.net) (Real-Time Benchmark), an open source benchmarking tool to stress-test real-time protocols. The aim of this project is to define an easy benchmark for XMPP and MQTT servers, with minimal configuration overhead.

> **» Do you want to enhance your business with real time systems? «**  
> We help companies achieve goals through [real time streaming architectures](https://www.process-one.net/en/solutions/realtime%5Fstreaming%5Farchitectures%5Fwith%5Fkafka/).  
> [Contact us](https://www.process-one.net/en/company/contact/)

## Why

To compare server implementations and be sure they are ready for massive traffic, there is a need for a “golden standard” benchmarking tool that is easy to use and avoids ambiguity due to configuration or overhead – each test should have the same baseline and capabilities for the results to be comparable.

We believe RTB fits such a role, because it has sane defaults (gathered from statistics of real world servers) and is able to cover all the test features defined in the [XMPP Compliance Suite 2018](https://xmpp.org/extensions/xep-0387.html?ref=process-one.net).

## Status

RTB is in early stages of development: currently, only XMPP protocol is implemented, and support for Multi-User Chat (MUC) and Personal Eventing Protocol (PEP) is lacking.

However, “sane” defaults and what should be considered a “golden standard” for this benchmark is open for discussion with the XMPP community – we welcome [issues](https://github.com/processone/rtb/issues?ref=process-one.net) and [pull requests](https://github.com/processone/rtb/pulls?ref=process-one.net). The tool has already been battle-tested: we used RTB to stress test our ejabberd [SaaS](https://www.process-one.net/en/ejabberd/#getejabberd) deployments with more than 2 000 000 concurrent connections.

RTB includes a [script](https://github.com/processone/rtb/blob/master/README.md?ref=process-one.net#database-population) to populate your server’s database with user accounts and rosters, so it’s easy to create test pools. When you start a test with RTB, you can monitor a local website on port 8080 with live graphs like the one below:

![](https://www.process-one.net/wp-content/uploads/2018/07/c2s-sessions.png)

## Requirements

We want RTB to be straightforward and easy to deploy. Currently, only Unix-based operating systems are supported. To compile, you just need gcc, make, Erlang, expat, yaml, openssl, zlib and gnuplot. There’s a default YAML configuration file to get you started and only 5 mandatory parameters before you can lanuch your first benchmark.

RTB is [available on GitHub](https://github.com/processone/rtb?ref=process-one.net) under Apache License 2.0 and we are waiting for your feedback!