Kafka, RabbitMQ and Pulsar measured side by side on ordering, replay and consumer scaling by driving the three client libraries directly, plus an operational-footprint measurement of each broker's own distribution. Nine tests, three brokers started without Docker, and every number in the documentation regenerated by scripts/run-all.sh.
41 lines
1.6 KiB
Plaintext
41 lines
1.6 KiB
Plaintext
== Operational footprint, measured on one 2-core / 3.8 GB Linux box ==
|
|
|
|
Each broker started from its shipped distribution with default configuration and a
|
|
700 MB heap cap, on Temurin JDK 21. Times are one sample on a small box: treat them as
|
|
orders of magnitude, not as a benchmark.
|
|
|
|
broker : kafka
|
|
time from launch to first
|
|
accepted connection : 10035 ms
|
|
resident memory at idle : 333 MB
|
|
server processes : 1
|
|
listening ports : 9092 (broker), 9093 (controller)
|
|
unpacked distribution size : 135 MB
|
|
settings in shipped default
|
|
configuration file : 24 (server.properties)
|
|
|
|
broker : rabbit
|
|
time from launch to first
|
|
accepted connection : 15053 ms
|
|
resident memory at idle : 115 MB
|
|
server processes : 1
|
|
listening ports : 5672 (AMQP), 4369 (epmd), 25672 (inter-node)
|
|
unpacked distribution size : 26 MB
|
|
settings in shipped default
|
|
configuration file : 0 (rabbitmq.conf.example)
|
|
epmd processes : 1
|
|
NOTE: RabbitMQ ships no configuration file at all. rabbitmq.conf.example is
|
|
entirely commented out and the boot log records "Config file(s): (none)".
|
|
Everything in that file is documentation, not a default.
|
|
|
|
broker : pulsar
|
|
time from launch to first
|
|
accepted connection : 20801 ms
|
|
resident memory at idle : 610 MB
|
|
server processes : 1
|
|
listening ports : 6650 (binary), 8080 (admin/REST), 2181 (ZooKeeper)
|
|
unpacked distribution size : 344 MB
|
|
settings in shipped default
|
|
configuration file : 357 (standalone.conf)
|
|
|