Storage Benchmark Kit
For local system RabbitMQ benchmarking, install the RabbitMQ on your system.
make sure that you have set the right set of admin privileges
# for admin user
sudo rabbitmqctl add_user admin admin
rabbitmqctl change_password admin admin
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
You can set the previlages for guest user too
sudo rabbitmqctl add_user guest guest
rabbitmqctl change_password guest guest
rabbitmqctl set_user_tags guest administrator
rabbitmqctl set_permissions -p / guest ".*" ".*" ".*"
To allow remote users to access your server, add the following content to in the file /etc/rabbitmq/rabbitmq.config
In case , if you have installed the Rabbit MQ in windows system, then to allow remote users to access your server, add the following content to in the file c:\Users[your user name]\AppData\Roaming\RabbitMQ\rabbitmq.config or :\Users[your user name]\AppData\Roaming\RabbitMQ\advanced.config (%APPDATA%\RabbitMQ\rabbit.config or advanced.conifg).
[{rabbit, [{loopback_users, []}]}].
you can enable the web access
sudo rabbitmq-plugins enable rabbitmq_management
After completeting the above steps you can start your local rabbitmq server
rabbitmq-server
Now, you can access your local RabbitMQ server : http://localhost:15672/#/
you can run the below command to start the standalone docker image
docker run -p 127.0.0.1:5672:5672/tcp --name some-rabbit rabbitmq:3
then run the SBK command as follows :
./build/install/sbk/bin/sbk -class rabbitmq -broker 127.0.0.1 -topic kmg-topic-2 -size 100 -writers 1 -readers 1 -seconds 60 -async true
Note that setting “-async” true , creates the callback Readers.
The sample output is as follows:
kmg@kmgs-MBP SBK % ./build/install/sbk/bin/sbk -class rabbitmq -broker 127.0.0.1 -topic kmg-topic-2 -size 100 -writers 1 -readers 1 -seconds 60 -async true
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/kmg/projects/SBK/build/install/sbk/lib/slf4j-simple-1.7.14.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/kmg/projects/SBK/build/install/sbk/lib/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/kmg/projects/SBK/build/install/sbk/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]
2021-02-28 11:37:18 INFO
_____ ____ _ __
/ ____| | _ \ | | / /
| (___ | |_) | | |/ /
\___ \ | _ < | <
____) | | |_) | | |\ \
|_____/ |____/ |_| \_\
2021-02-28 11:37:18 INFO Java Runtime Version: 11.0.8+11
2021-02-28 11:37:18 INFO SBK Version: 0.861
2021-02-28 11:37:18 INFO Arguments List: [-class, rabbitmq, -broker, 127.0.0.1, -topic, kmg-topic-2, -size, 100, -writers, 1, -readers, 1, -seconds, 60, -async, true]
2021-02-28 11:37:18 INFO sbk.applicationName: sbk
2021-02-28 11:37:18 INFO sbk.className:
2021-02-28 11:37:18 INFO Reflections took 55 ms to scan 34 urls, producing 52 keys and 172 values
2021-02-28 11:37:18 INFO Available Drivers : 33
2021-02-28 11:37:18 INFO Arguments to Driver 'RabbitMQ' : [-broker, 127.0.0.1, -topic, kmg-topic-2, -size, 100, -writers, 1, -readers, 1, -seconds, 60, -async, true]
2021-02-28 11:37:18 INFO Time Unit: MILLISECONDS
2021-02-28 11:37:18 INFO Minimum Latency: 0 ms
2021-02-28 11:37:18 INFO Maximum Latency: 180000 ms
2021-02-28 11:37:18 INFO Window Latency Store: Array
2021-02-28 11:37:18 INFO Total Window Latency Store: HashMap
2021-02-28 11:37:18 INFO PrometheusLogger Started
2021-02-28 11:37:18 INFO Starting RabbitMQ CallbackReader
RabbitMQ Write_Reading 89832 records, 17962.8 records/sec, 1.71 MB/sec, 1781.6 ms avg latency, 3279 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 341 ms 10th, 1071 ms 25th, 1892 ms 50th, 2513 ms 75th, 2967 ms 90th, 3241 ms 95th, 3270 ms 99th, 3278 ms 99.9th, 3278 ms 99.99th.
RabbitMQ Write_Reading 112054 records, 22406.3 records/sec, 2.14 MB/sec, 3336.4 ms avg latency, 3851 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3116 ms 10th, 3207 ms 25th, 3327 ms 50th, 3421 ms 75th, 3593 ms 90th, 3688 ms 95th, 3809 ms 99th, 3847 ms 99.9th, 3851 ms 99.99th.
RabbitMQ Write_Reading 103706 records, 20737.1 records/sec, 1.98 MB/sec, 3935.9 ms avg latency, 4217 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3759 ms 10th, 3851 ms 25th, 3937 ms 50th, 4035 ms 75th, 4110 ms 90th, 4140 ms 95th, 4179 ms 99th, 4214 ms 99.9th, 4217 ms 99.99th.
RabbitMQ Write_Reading 104080 records, 20811.8 records/sec, 1.98 MB/sec, 3927.1 ms avg latency, 4211 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3751 ms 10th, 3849 ms 25th, 3935 ms 50th, 4017 ms 75th, 4089 ms 90th, 4125 ms 95th, 4175 ms 99th, 4206 ms 99.9th, 4210 ms 99.99th.
RabbitMQ Write_Reading 103387 records, 20673.3 records/sec, 1.97 MB/sec, 4144.1 ms avg latency, 4436 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3988 ms 10th, 4053 ms 25th, 4151 ms 50th, 4229 ms 75th, 4297 ms 90th, 4333 ms 95th, 4404 ms 99th, 4432 ms 99.9th, 4436 ms 99.99th.
RabbitMQ Write_Reading 106129 records, 21221.6 records/sec, 2.02 MB/sec, 3706.1 ms avg latency, 4302 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3400 ms 10th, 3524 ms 25th, 3651 ms 50th, 3896 ms 75th, 4077 ms 90th, 4149 ms 95th, 4237 ms 99th, 4299 ms 99.9th, 4301 ms 99.99th.
RabbitMQ Write_Reading 129338 records, 25862.4 records/sec, 2.47 MB/sec, 3850.8 ms avg latency, 4549 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3195 ms 10th, 3416 ms 25th, 4004 ms 50th, 4186 ms 75th, 4319 ms 90th, 4531 ms 95th, 4547 ms 99th, 4549 ms 99.9th, 4549 ms 99.99th.
RabbitMQ Write_Reading 125160 records, 25027.0 records/sec, 2.39 MB/sec, 3470.1 ms avg latency, 3772 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3284 ms 10th, 3383 ms 25th, 3486 ms 50th, 3579 ms 75th, 3640 ms 90th, 3670 ms 95th, 3734 ms 99th, 3767 ms 99.9th, 3772 ms 99.99th.
RabbitMQ Write_Reading 126476 records, 25290.1 records/sec, 2.41 MB/sec, 3486.3 ms avg latency, 3846 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3267 ms 10th, 3359 ms 25th, 3492 ms 50th, 3607 ms 75th, 3709 ms 90th, 3759 ms 95th, 3845 ms 99th, 3846 ms 99.9th, 3846 ms 99.99th.
RabbitMQ Write_Reading 130238 records, 26042.4 records/sec, 2.48 MB/sec, 3494.5 ms avg latency, 4422 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3145 ms 10th, 3260 ms 25th, 3419 ms 50th, 3582 ms 75th, 4127 ms 90th, 4147 ms 95th, 4419 ms 99th, 4421 ms 99.9th, 4422 ms 99.99th.
RabbitMQ Write_Reading 123002 records, 24595.5 records/sec, 2.35 MB/sec, 3507.3 ms avg latency, 3965 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3008 ms 10th, 3389 ms 25th, 3584 ms 50th, 3721 ms 75th, 3836 ms 90th, 3882 ms 95th, 3928 ms 99th, 3959 ms 99.9th, 3964 ms 99.99th.
RabbitMQ Write_Reading 121128 records, 24279.0 records/sec, 2.32 MB/sec, 3585.4 ms avg latency, 3957 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3305 ms 10th, 3441 ms 25th, 3585 ms 50th, 3729 ms 75th, 3840 ms 90th, 3947 ms 95th, 3956 ms 99th, 3957 ms 99.9th, 3957 ms 99.99th.
Total : RabbitMQ Write_Reading 1374530 records, 22908.8 records/sec, 2.18 MB/sec, 3540.6 ms avg latency, 4549 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3134 ms 10th, 3364 ms 25th, 3589 ms 50th, 3920 ms 75th, 4126 ms 90th, 4201 ms 95th, 4415 ms 99th, 4547 ms 99.9th, 4549 ms 99.99th.
2021-02-28 11:38:18 INFO SBK Performance Shutdown
2021-02-28 11:38:22 INFO PrometheusLogger Stopped
2021-02-28 11:38:23 INFO SBK Benchmark Shutdown
The SBK command with synchronous reader is as follows :
./build/install/sbk/bin/sbk -class rabbitmq -broker 127.0.0.1 -topic kmg-topic-3 -size 100 -writers 1 -readers 1 -seconds 60
Note that setting “-async” true , creates the callback Readers.
The sample output is as follows:
kmg@kmgs-MBP SBK % ./build/install/sbk/bin/sbk -class rabbitmq -broker 127.0.0.1 -topic kmg-topic-3 -size 100 -writers 1 -readers 1 -seconds 60
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/kmg/projects/SBK/build/install/sbk/lib/slf4j-simple-1.7.14.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/kmg/projects/SBK/build/install/sbk/lib/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/kmg/projects/SBK/build/install/sbk/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]
2021-02-28 11:40:39 INFO
_____ ____ _ __
/ ____| | _ \ | | / /
| (___ | |_) | | |/ /
\___ \ | _ < | <
____) | | |_) | | |\ \
|_____/ |____/ |_| \_\
2021-02-28 11:40:39 INFO Java Runtime Version: 11.0.8+11
2021-02-28 11:40:39 INFO SBK Version: 0.861
2021-02-28 11:40:39 INFO Arguments List: [-class, rabbitmq, -broker, 127.0.0.1, -topic, kmg-topic-3, -size, 100, -writers, 1, -readers, 1, -seconds, 60]
2021-02-28 11:40:39 INFO sbk.applicationName: sbk
2021-02-28 11:40:39 INFO sbk.className:
2021-02-28 11:40:40 INFO Reflections took 59 ms to scan 34 urls, producing 52 keys and 172 values
2021-02-28 11:40:40 INFO Available Drivers : 33
2021-02-28 11:40:40 INFO Arguments to Driver 'RabbitMQ' : [-broker, 127.0.0.1, -topic, kmg-topic-3, -size, 100, -writers, 1, -readers, 1, -seconds, 60]
2021-02-28 11:40:40 INFO Time Unit: MILLISECONDS
2021-02-28 11:40:40 INFO Minimum Latency: 0 ms
2021-02-28 11:40:40 INFO Maximum Latency: 180000 ms
2021-02-28 11:40:40 INFO Window Latency Store: Array
2021-02-28 11:40:40 INFO Total Window Latency Store: HashMap
2021-02-28 11:40:40 INFO PrometheusLogger Started
2021-02-28 11:40:40 INFO Starting RabbitMQ Reader
RabbitMQ Write_Reading 89040 records, 17804.4 records/sec, 1.70 MB/sec, 1842.2 ms avg latency, 3293 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 408 ms 10th, 1098 ms 25th, 1986 ms 50th, 2637 ms 75th, 3047 ms 90th, 3198 ms 95th, 3269 ms 99th, 3290 ms 99.9th, 3292 ms 99.99th.
RabbitMQ Write_Reading 102985 records, 20592.9 records/sec, 1.96 MB/sec, 3623.8 ms avg latency, 3972 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3403 ms 10th, 3509 ms 25th, 3624 ms 50th, 3740 ms 75th, 3846 ms 90th, 3886 ms 95th, 3934 ms 99th, 3968 ms 99.9th, 3972 ms 99.99th.
RabbitMQ Write_Reading 98227 records, 19641.5 records/sec, 1.87 MB/sec, 4275.5 ms avg latency, 4595 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 4071 ms 10th, 4183 ms 25th, 4276 ms 50th, 4381 ms 75th, 4463 ms 90th, 4513 ms 95th, 4569 ms 99th, 4593 ms 99.9th, 4595 ms 99.99th.
RabbitMQ Write_Reading 98087 records, 19613.5 records/sec, 1.87 MB/sec, 4382.8 ms avg latency, 4668 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 4213 ms 10th, 4289 ms 25th, 4380 ms 50th, 4478 ms 75th, 4558 ms 90th, 4594 ms 95th, 4644 ms 99th, 4663 ms 99.9th, 4668 ms 99.99th.
RabbitMQ Write_Reading 102789 records, 20553.7 records/sec, 1.96 MB/sec, 4299.0 ms avg latency, 4658 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 4071 ms 10th, 4180 ms 25th, 4301 ms 50th, 4415 ms 75th, 4542 ms 90th, 4579 ms 95th, 4629 ms 99th, 4653 ms 99.9th, 4657 ms 99.99th.
RabbitMQ Write_Reading 102962 records, 20584.2 records/sec, 1.96 MB/sec, 4150.6 ms avg latency, 4427 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 4001 ms 10th, 4057 ms 25th, 4148 ms 50th, 4242 ms 75th, 4312 ms 90th, 4343 ms 95th, 4394 ms 99th, 4423 ms 99.9th, 4427 ms 99.99th.
RabbitMQ Write_Reading 100881 records, 20172.2 records/sec, 1.92 MB/sec, 4209.6 ms avg latency, 4505 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 4047 ms 10th, 4106 ms 25th, 4205 ms 50th, 4302 ms 75th, 4374 ms 90th, 4413 ms 95th, 4498 ms 99th, 4504 ms 99.9th, 4505 ms 99.99th.
RabbitMQ Write_Reading 102031 records, 20402.1 records/sec, 1.95 MB/sec, 4140.7 ms avg latency, 4448 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3982 ms 10th, 4050 ms 25th, 4141 ms 50th, 4230 ms 75th, 4304 ms 90th, 4339 ms 95th, 4384 ms 99th, 4439 ms 99.9th, 4447 ms 99.99th.
RabbitMQ Write_Reading 102547 records, 20505.3 records/sec, 1.96 MB/sec, 4252.5 ms avg latency, 4538 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 4092 ms 10th, 4160 ms 25th, 4255 ms 50th, 4350 ms 75th, 4411 ms 90th, 4445 ms 95th, 4487 ms 99th, 4535 ms 99.9th, 4538 ms 99.99th.
RabbitMQ Write_Reading 104133 records, 20822.4 records/sec, 1.99 MB/sec, 4120.5 ms avg latency, 4440 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3948 ms 10th, 4011 ms 25th, 4119 ms 50th, 4218 ms 75th, 4307 ms 90th, 4345 ms 95th, 4393 ms 99th, 4430 ms 99.9th, 4434 ms 99.99th.
RabbitMQ Write_Reading 102594 records, 20514.7 records/sec, 1.96 MB/sec, 4110.0 ms avg latency, 4425 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3938 ms 10th, 4002 ms 25th, 4100 ms 50th, 4217 ms 75th, 4293 ms 90th, 4337 ms 95th, 4403 ms 99th, 4420 ms 99.9th, 4424 ms 99.99th.
RabbitMQ Write_Reading 125906 records, 25241.8 records/sec, 2.41 MB/sec, 3735.8 ms avg latency, 4430 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3225 ms 10th, 3401 ms 25th, 3775 ms 50th, 4042 ms 75th, 4177 ms 90th, 4238 ms 95th, 4383 ms 99th, 4426 ms 99.9th, 4429 ms 99.99th.
Total : RabbitMQ Write_Reading 1232182 records, 20536.4 records/sec, 1.96 MB/sec, 3944.8 ms avg latency, 4668 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 3374 ms 10th, 3950 ms 25th, 4142 ms 50th, 4284 ms 75th, 4395 ms 90th, 4466 ms 95th, 4579 ms 99th, 4646 ms 99.9th, 4663 ms 99.99th.
2021-02-28 11:41:40 INFO SBK Performance Shutdown
2021-02-28 11:41:43 INFO PrometheusLogger Stopped
2021-02-28 11:41:44 INFO SBK Benchmark Shutdown