Comparing the performance of sending messages of various sizes using HTTP and RabbitMQ. Rabbit-RT (RabbitMQ Round-Trip) is the time taken to send a message to RabbitMQ and receive it back.
Testing Environment Details
BenchmarkDotNet v0.13.12, Windows 11 (10.0.22631.3593/23H2/2023Update/SunValley3)
13th Gen Intel Core i7-13700H, 1 CPU, 20 logical and 14 physical cores
.NET SDK 8.0.300
[Host] : .NET 8.0.5 (8.0.524.21615), X64 RyuJIT AVX2
DefaultJob : .NET 8.0.5 (8.0.524.21615), X64 RyuJIT AVX2
Method | MessageSize | Mean | Error | StdDev | Min | Max | Median | Ratio | RatioSD |
---|---|---|---|---|---|---|---|---|---|
HTTP | 1024 | 4.562 μs | 0.0908 μs | 0.0849 μs | 4.417 μs | 4.705 μs | 4.577 μs | 1.00 | 0.00 |
RabbitMQ | 1024 | 4.459 μs | 0.0865 μs | 0.1030 μs | 4.273 μs | 4.617 μs | 4.484 μs | 0.97 | 0.03 |
RabbitMQ-RT | 1024 | 497.748 μs | 5.6553 μs | 5.0133 μs | 480.357 μs | 499.472 μs | 499.147 μs | 109.19 | 2.64 |
HTTP | 102400 | 27.692 μs | 1.9728 μs | 5.8168 μs | 16.060 μs | 40.116 μs | 27.871 μs | 1.00 | 0.00 |
RabbitMQ | 102400 | 9.341 μs | 0.3256 μs | 0.9499 μs | 7.607 μs | 11.703 μs | 9.178 μs | 0.35 | 0.10 |
RabbitMQ-RT | 102400 | 13.222 μs | 0.2617 μs | 0.5800 μs | 12.058 μs | 14.683 μs | 13.177 μs | 0.51 | 0.11 |
HTTP | 524288 | 63.652 μs | 2.7262 μs | 7.8657 μs | 47.678 μs | 82.814 μs | 63.766 μs | 1.00 | 0.00 |
RabbitMQ | 524288 | 42.717 μs | 2.2626 μs | 6.6713 μs | 29.521 μs | 58.846 μs | 42.714 μs | 0.68 | 0.13 |
RabbitMQ-RT | 524288 | 49.532 μs | 0.9608 μs | 1.3469 μs | 46.138 μs | 51.998 μs | 49.858 μs | 0.82 | 0.10 |
HTTP | 1048576 | 109.564 μs | 4.2685 μs | 12.4513 μs | 86.581 μs | 145.882 μs | 106.839 μs | 1.00 | 0.00 |
RabbitMQ | 1048576 | 76.891 μs | 3.5623 μs | 10.5034 μs | 44.987 μs | 101.431 μs | 76.504 μs | 0.71 | 0.13 |
RabbitMQ-RT | 1048576 | 95.996 μs | 1.8979 μs | 2.5336 μs | 92.416 μs | 101.366 μs | 95.249 μs | 0.90 | 0.10 |
HTTP | 4194304 | 308.745 μs | 8.1529 μs | 24.0389 μs | 261.737 μs | 369.746 μs | 306.484 μs | 1.00 | 0.00 |
RabbitMQ | 4194304 | 223.394 μs | 8.7457 μs | 25.5118 μs | 174.962 μs | 288.236 μs | 219.136 μs | 0.73 | 0.10 |
RabbitMQ-RT | 4194304 | 384.524 μs | 8.8646 μs | 25.0027 μs | 341.822 μs | 462.462 μs | 380.307 μs | 1.25 | 0.12 |