  Message brokers see widespread adoption in modern IT landscapes, with Apache
Kafka being one of the most employed platforms. These systems feature
well-defined APIs for use and configuration and present flexible solutions for
various data storage scenarios. Their ability to scale horizontally enables
users to adapt to growing data volumes and changing environments. However, one
of the main challenges concerning message brokers is the danger of them
becoming a bottleneck within an IT architecture. To prevent this, knowledge
about the amount of data a message broker using a specific configuration can
handle needs to be available. In this paper, we propose a monitoring
architecture for message brokers and similar Java Virtual Machine-based
systems. We present a comprehensive performance analysis of the popular Apache
Kafka platform using our approach. As part of the benchmark, we study selected
data ingestion scenarios with respect to their maximum data ingestion rates.
The results show that we can achieve an ingestion rate of about 420,000
messages/second on the used commodity hardware and with the developed data
sender tool.
