diff --git a/README.md b/README.md
index 99fb821e..214a180c 100644
--- a/README.md
+++ b/README.md
@@ -110,8 +110,10 @@ Full semantics: [Outcomes & Delivery](https://shove.rs/concepts/outcomes).
The charts are generated from a committed results document — never hand-copied —
and each one carries its own provenance (shove version, generation date,
hardware) in the caption. The harness runs against every backend; the currently
-published document measures the in-process and Kafka backends, and a plotted
-series appears only for a backend the document actually contains. See
+published document measures the in-process, Kafka, RabbitMQ and Redis backends,
+and a plotted series appears only for a backend the document actually contains.
+NATS is absent until a publisher fix lands, and SQS is absent because it runs only
+against LocalStack. See
[Measurement methodology](https://shove.rs/ops/performance#measurement-methodology)
for what is measured and what is still pending.
diff --git a/benches/results/bench-results.json b/benches/results/bench-results.json
index cb7bc260..f182af53 100644
--- a/benches/results/bench-results.json
+++ b/benches/results/bench-results.json
@@ -1,6 +1,6 @@
{
"schema_version": 6,
- "generated_at": "2026-09-04T13:16:16Z",
+ "generated_at": "2026-09-07T13:47:38Z",
"shove_version": "0.14.0",
"rust_version": "rustc 1.91.1 (ed61e7d7e 2025-11-07)",
"hardware": {
@@ -6076,7 +6076,7 @@
"peak_rss_mb": 4.578125,
"cpu_pct": 12.83364572988269,
"duration_secs": 10.000727708,
- "setup_secs": 3.1816746670000002,
+ "setup_secs": 3.181674667,
"load": {
"offered_msg_per_sec": 25000,
"window_secs": 10,
@@ -6182,7 +6182,7 @@
"e2e_p99_ms": 12.705292,
"scaling_efficiency": 1.0,
"peak_rss_mb": 0.1875,
- "cpu_pct": 11.398452813622649,
+ "cpu_pct": 11.398452813622647,
"duration_secs": 10.009347208,
"setup_secs": 3.181928542,
"load": {
@@ -6266,7 +6266,7 @@
"published": 999388,
"published_at_window_end": 999388,
"processed_at_window_end": 999303,
- "achieved_publish_msg_per_sec": 99898.17141368607,
+ "achieved_publish_msg_per_sec": 99898.17141368608,
"lag_at_window_end": 85,
"peak_lag": 3394,
"drain_secs": 0.0113625,
@@ -6392,7 +6392,7 @@
"consumers": 1,
"handler": "zero (no-op)",
"handler_cost": "setup_bound",
- "throughput_msg_per_sec": 1556.6781051259675,
+ "throughput_msg_per_sec": 1556.6781051259677,
"dispatch_p50_ms": 3148.898334,
"dispatch_p95_ms": 3201.462916,
"dispatch_p99_ms": 3204.107166,
@@ -6423,7 +6423,7 @@
"e2e_p99_ms": 3212.706875,
"scaling_efficiency": 1.0,
"peak_rss_mb": 0.09375,
- "cpu_pct": 0.020486444414497578,
+ "cpu_pct": 0.020486444414497575,
"duration_secs": 3.221589958,
"setup_secs": null
},
@@ -6505,7 +6505,7 @@
"e2e_p99_ms": 120.01075,
"scaling_efficiency": 1.0,
"peak_rss_mb": 0.046875,
- "cpu_pct": 10.730559690264533,
+ "cpu_pct": 10.730559690264531,
"duration_secs": 10.003985,
"setup_secs": 3.440648667,
"load": {
@@ -6658,7 +6658,7 @@
"e2e_p99_ms": 128.222125,
"scaling_efficiency": 1.0,
"peak_rss_mb": 0.015625,
- "cpu_pct": 11.211687688561247,
+ "cpu_pct": 11.211687688561248,
"duration_secs": 10.004110541,
"setup_secs": 3.425400041,
"load": {
@@ -6727,7 +6727,7 @@
"handler_cost": "framework",
"max_batch_size": 500,
"max_batch_age_ms": 250,
- "throughput_msg_per_sec": 99859.44749778083,
+ "throughput_msg_per_sec": 99859.44749778084,
"dispatch_p50_ms": 10.381666,
"dispatch_p95_ms": 20.386042,
"dispatch_p99_ms": 65.834292,
@@ -6738,7 +6738,7 @@
"peak_rss_mb": 0.109375,
"cpu_pct": 23.211558003677688,
"duration_secs": 10.004060958,
- "setup_secs": 3.4373713329999998,
+ "setup_secs": 3.437371333,
"load": {
"offered_msg_per_sec": 100000,
"window_secs": 10,
@@ -6746,7 +6746,7 @@
"published": 999628,
"published_at_window_end": 999628,
"processed_at_window_end": 999000,
- "achieved_publish_msg_per_sec": 99922.22200531697,
+ "achieved_publish_msg_per_sec": 99922.22200531696,
"lag_at_window_end": 628,
"peak_lag": 9339,
"drain_secs": 0.257024917,
@@ -6850,7 +6850,7 @@
"e2e_p99_ms": 7013.979333,
"scaling_efficiency": 1.0,
"peak_rss_mb": 185.84375,
- "cpu_pct": 232.25614920866118,
+ "cpu_pct": 232.2561492086612,
"duration_secs": 10.229543958,
"setup_secs": 3.429176583,
"load": {
@@ -6921,7 +6921,7 @@
"e2e_p99_ms": 12.040083,
"scaling_efficiency": 1.0,
"peak_rss_mb": 0.03125,
- "cpu_pct": 10.972972137599653,
+ "cpu_pct": 10.972972137599651,
"duration_secs": 10.0059645,
"setup_secs": 3.642154417,
"load": {
@@ -6958,7 +6958,7 @@
"e2e_p99_ms": 16.539208,
"scaling_efficiency": 1.0,
"peak_rss_mb": 0.0,
- "cpu_pct": 13.416394954940113,
+ "cpu_pct": 13.416394954940111,
"duration_secs": 10.00617525,
"setup_secs": 3.494536584,
"load": {
@@ -6986,7 +6986,7 @@
"consumers": 1,
"handler": "zero (no-op)",
"handler_cost": "framework",
- "throughput_msg_per_sec": 99876.55095650641,
+ "throughput_msg_per_sec": 99876.5509565064,
"dispatch_p50_ms": 8.208583,
"dispatch_p95_ms": 13.212833,
"dispatch_p99_ms": 19.838083,
@@ -7005,7 +7005,7 @@
"published": 999677,
"published_at_window_end": 999677,
"processed_at_window_end": 999434,
- "achieved_publish_msg_per_sec": 99900.83470298935,
+ "achieved_publish_msg_per_sec": 99900.83470298936,
"lag_at_window_end": 243,
"peak_lag": 4803,
"drain_secs": 0.012055417,
@@ -7066,7 +7066,7 @@
"e2e_p99_ms": 13.743125,
"scaling_efficiency": 1.0,
"peak_rss_mb": 0.0625,
- "cpu_pct": 11.499996972162455,
+ "cpu_pct": 11.499996972162457,
"duration_secs": 10.0031135,
"setup_secs": 3.605212875,
"load": {
@@ -7140,7 +7140,7 @@
"e2e_p99_ms": 22.617917,
"scaling_efficiency": 1.0,
"peak_rss_mb": 0.0,
- "cpu_pct": 23.285604818190926,
+ "cpu_pct": 23.28560481819093,
"duration_secs": 10.005208542,
"setup_secs": 3.598662792,
"load": {
@@ -7298,7 +7298,7 @@
"consumers": 1,
"handler": "zero (no-op)",
"handler_cost": "setup_bound",
- "throughput_msg_per_sec": 48417.670346412844,
+ "throughput_msg_per_sec": 48417.67034641285,
"dispatch_p50_ms": 16.52375,
"dispatch_p95_ms": 28.577833,
"dispatch_p99_ms": 29.27425,
@@ -7351,7 +7351,7 @@
"e2e_p99_ms": 3231.203709,
"scaling_efficiency": 1.0,
"peak_rss_mb": 0.09375,
- "cpu_pct": 0.019247620405372246,
+ "cpu_pct": 0.01924762040537225,
"duration_secs": 3.236748,
"setup_secs": null
},
@@ -7386,7 +7386,7 @@
"consumers": 1,
"handler": "zero (no-op)",
"handler_cost": "setup_bound",
- "throughput_msg_per_sec": 1482.1947465311735,
+ "throughput_msg_per_sec": 1482.1947465311737,
"dispatch_p50_ms": 3293.131458,
"dispatch_p95_ms": 3356.032375,
"dispatch_p99_ms": 3362.120208,
@@ -7668,7 +7668,7 @@
"e2e_p50_ms": 7.872,
"e2e_p95_ms": 12.64675,
"e2e_p99_ms": 21.090083,
- "scaling_efficiency": 0.9999257141854403,
+ "scaling_efficiency": 0.9999257141854404,
"peak_rss_mb": 0.015625,
"cpu_pct": 22.103753555150092,
"duration_secs": 10.003318459,
@@ -7853,7 +7853,7 @@
"e2e_p99_ms": 221.730917,
"scaling_efficiency": 1.0000622174932956,
"peak_rss_mb": 0.046875,
- "cpu_pct": 11.498403139822639,
+ "cpu_pct": 11.49840313982264,
"duration_secs": 10.003968917,
"setup_secs": 6.436844375,
"load": {
@@ -7883,14 +7883,14 @@
"handler_cost": "framework",
"max_batch_size": 500,
"max_batch_age_ms": 250,
- "throughput_msg_per_sec": 24885.434659612554,
+ "throughput_msg_per_sec": 24885.43465961255,
"dispatch_p50_ms": 26.523,
"dispatch_p95_ms": 50.653375,
"dispatch_p99_ms": 63.951584,
"e2e_p50_ms": 26.544333,
"e2e_p95_ms": 50.670583,
"e2e_p99_ms": 63.959042,
- "scaling_efficiency": 0.9977517383009353,
+ "scaling_efficiency": 0.9977517383009352,
"peak_rss_mb": 0.03125,
"cpu_pct": 12.402631358621084,
"duration_secs": 10.005852958,
@@ -7971,7 +7971,7 @@
"scaling_efficiency": 2.1416054082333917,
"peak_rss_mb": 241.53125,
"cpu_pct": 0.0,
- "duration_secs": 15.387142666999999,
+ "duration_secs": 15.387142667,
"setup_secs": 6.190348375,
"method": "drain",
"drain": {
@@ -8004,7 +8004,7 @@
"e2e_p50_ms": 106.791208,
"e2e_p95_ms": 202.142125,
"e2e_p99_ms": 224.77725,
- "scaling_efficiency": 0.9990997962389827,
+ "scaling_efficiency": 0.9990997962389828,
"peak_rss_mb": 0.015625,
"cpu_pct": 11.044426169043724,
"duration_secs": 10.007055833,
@@ -8043,7 +8043,7 @@
"e2e_p50_ms": 26.255417,
"e2e_p95_ms": 50.128666,
"e2e_p99_ms": 61.02175,
- "scaling_efficiency": 0.9998360231331451,
+ "scaling_efficiency": 0.9998360231331452,
"peak_rss_mb": 0.0,
"cpu_pct": 17.495009002579582,
"duration_secs": 10.007644,
@@ -8075,14 +8075,14 @@
"handler_cost": "framework",
"max_batch_size": 500,
"max_batch_age_ms": 250,
- "throughput_msg_per_sec": 99856.29290059741,
+ "throughput_msg_per_sec": 99856.2929005974,
"dispatch_p50_ms": 12.743375,
"dispatch_p95_ms": 21.939083,
"dispatch_p99_ms": 35.047917,
"e2e_p50_ms": 12.763708,
"e2e_p95_ms": 21.956791,
"e2e_p99_ms": 35.056708,
- "scaling_efficiency": 0.9999684096271063,
+ "scaling_efficiency": 0.9999684096271064,
"peak_rss_mb": 0.015625,
"cpu_pct": 28.72553319689044,
"duration_secs": 10.004377,
@@ -8412,9 +8412,9 @@
"e2e_p50_ms": 6.540833,
"e2e_p95_ms": 8.629625,
"e2e_p99_ms": 12.141084,
- "scaling_efficiency": 0.9996739507587715,
+ "scaling_efficiency": 0.9996739507587716,
"peak_rss_mb": 0.015625,
- "cpu_pct": 11.984601539056877,
+ "cpu_pct": 11.984601539056875,
"duration_secs": 10.005975584,
"setup_secs": 6.655422709,
"load": {
@@ -8479,7 +8479,7 @@
"consumers": 2,
"handler": "zero (no-op)",
"handler_cost": "framework",
- "throughput_msg_per_sec": 99865.89096726655,
+ "throughput_msg_per_sec": 99865.89096726656,
"dispatch_p50_ms": 7.952875,
"dispatch_p95_ms": 13.800583,
"dispatch_p99_ms": 30.282,
@@ -8646,7 +8646,7 @@
"consumers": 2,
"handler": "zero (no-op)",
"handler_cost": "setup_bound",
- "throughput_msg_per_sec": 103100.71056803523,
+ "throughput_msg_per_sec": 103100.71056803524,
"dispatch_p50_ms": 13.578041,
"dispatch_p95_ms": 23.669708,
"dispatch_p99_ms": 25.358041,
@@ -8770,7 +8770,7 @@
"e2e_p99_ms": 11.1325,
"scaling_efficiency": 1.0003286693715656,
"peak_rss_mb": 0.0,
- "cpu_pct": 11.380680675391059,
+ "cpu_pct": 11.38068067539106,
"duration_secs": 10.006131,
"setup_secs": 6.881353625,
"load": {
@@ -8817,7 +8817,7 @@
"published": 999562,
"published_at_window_end": 999562,
"processed_at_window_end": 999502,
- "achieved_publish_msg_per_sec": 99885.86121557323,
+ "achieved_publish_msg_per_sec": 99885.86121557324,
"lag_at_window_end": 60,
"peak_lag": 4174,
"drain_secs": 0.011925875,
@@ -8913,7 +8913,7 @@
"e2e_p50_ms": 7.398833,
"e2e_p95_ms": 11.371,
"e2e_p99_ms": 16.587167,
- "scaling_efficiency": 1.0000106024782587,
+ "scaling_efficiency": 1.000010602478259,
"peak_rss_mb": 0.0,
"cpu_pct": 17.627230663380054,
"duration_secs": 10.005518125,
@@ -8950,7 +8950,7 @@
"e2e_p50_ms": 8.002792,
"e2e_p95_ms": 11.267833,
"e2e_p99_ms": 22.490667,
- "scaling_efficiency": 0.9997971760533483,
+ "scaling_efficiency": 0.9997971760533484,
"peak_rss_mb": 0.015625,
"cpu_pct": 26.2471406454947,
"duration_secs": 10.00477475,
@@ -8962,7 +8962,7 @@
"published": 999534,
"published_at_window_end": 999534,
"processed_at_window_end": 999171,
- "achieved_publish_msg_per_sec": 99905.69752707327,
+ "achieved_publish_msg_per_sec": 99905.69752707328,
"lag_at_window_end": 363,
"peak_lag": 3789,
"drain_secs": 0.011453083,
@@ -8987,7 +8987,7 @@
"e2e_p50_ms": 0.0,
"e2e_p95_ms": 0.0,
"e2e_p99_ms": 0.0,
- "scaling_efficiency": 1.7492755324158857,
+ "scaling_efficiency": 1.7492755324158855,
"peak_rss_mb": 6.0625,
"cpu_pct": 0.0,
"duration_secs": 0.519439042,
@@ -9135,7 +9135,7 @@
"e2e_p99_ms": 258.461958,
"scaling_efficiency": 0.999813249974274,
"peak_rss_mb": 0.03125,
- "cpu_pct": 10.963953344153337,
+ "cpu_pct": 10.963953344153335,
"duration_secs": 10.005449292,
"setup_secs": 6.477287666,
"load": {
@@ -9172,7 +9172,7 @@
"e2e_p50_ms": 44.940833,
"e2e_p95_ms": 95.820541,
"e2e_p99_ms": 130.177291,
- "scaling_efficiency": 0.9960467053039601,
+ "scaling_efficiency": 0.99604670530396,
"peak_rss_mb": 0.015625,
"cpu_pct": 13.34824615084761,
"duration_secs": 10.0026935,
@@ -9211,9 +9211,9 @@
"e2e_p50_ms": 15.62325,
"e2e_p95_ms": 37.427792,
"e2e_p99_ms": 51.890959,
- "scaling_efficiency": 0.9988686505000143,
+ "scaling_efficiency": 0.9988686505000144,
"peak_rss_mb": 0.046875,
- "cpu_pct": 20.375662675219758,
+ "cpu_pct": 20.37566267521976,
"duration_secs": 10.006276083,
"setup_secs": 6.431085375,
"load": {
@@ -9286,7 +9286,7 @@
"e2e_p50_ms": 135.900375,
"e2e_p95_ms": 251.016917,
"e2e_p99_ms": 258.88425,
- "scaling_efficiency": 1.0015905128737461,
+ "scaling_efficiency": 1.001590512873746,
"peak_rss_mb": 0.0,
"cpu_pct": 11.771947226950944,
"duration_secs": 10.004770291,
@@ -9325,7 +9325,7 @@
"e2e_p50_ms": 45.015709,
"e2e_p95_ms": 95.987458,
"e2e_p99_ms": 119.772583,
- "scaling_efficiency": 1.0000425907370853,
+ "scaling_efficiency": 1.0000425907370851,
"peak_rss_mb": 0.0,
"cpu_pct": 17.77855185888089,
"duration_secs": 10.005576833,
@@ -9337,7 +9337,7 @@
"published": 249940,
"published_at_window_end": 249940,
"processed_at_window_end": 249497,
- "achieved_publish_msg_per_sec": 24980.069032667638,
+ "achieved_publish_msg_per_sec": 24980.06903266764,
"lag_at_window_end": 443,
"peak_lag": 2124,
"drain_secs": 0.256232042,
@@ -9364,9 +9364,9 @@
"e2e_p50_ms": 15.898791,
"e2e_p95_ms": 37.901458,
"e2e_p99_ms": 53.248458,
- "scaling_efficiency": 0.9991497310102715,
+ "scaling_efficiency": 0.9991497310102716,
"peak_rss_mb": 0.0,
- "cpu_pct": 26.675654538146258,
+ "cpu_pct": 26.675654538146254,
"duration_secs": 10.007563041,
"setup_secs": 6.444197917,
"load": {
@@ -9439,7 +9439,7 @@
"e2e_p50_ms": 135.906791,
"e2e_p95_ms": 251.875375,
"e2e_p99_ms": 261.848084,
- "scaling_efficiency": 0.9935790146200791,
+ "scaling_efficiency": 0.9935790146200792,
"peak_rss_mb": 0.0,
"cpu_pct": 34.827457848607125,
"duration_secs": 10.125794958,
@@ -9551,7 +9551,7 @@
"e2e_p99_ms": 11.484167,
"scaling_efficiency": 1.0000863176841246,
"peak_rss_mb": 0.015625,
- "cpu_pct": 11.300111054439181,
+ "cpu_pct": 11.30011105443918,
"duration_secs": 10.003299208,
"setup_secs": 6.619226792,
"load": {
@@ -9635,7 +9635,7 @@
"published": 999799,
"published_at_window_end": 999799,
"processed_at_window_end": 999661,
- "achieved_publish_msg_per_sec": 99912.58389659967,
+ "achieved_publish_msg_per_sec": 99912.58389659968,
"lag_at_window_end": 138,
"peak_lag": 1526,
"drain_secs": 0.012495416,
@@ -9694,7 +9694,7 @@
"e2e_p50_ms": 6.603417,
"e2e_p95_ms": 9.514333,
"e2e_p99_ms": 12.36225,
- "scaling_efficiency": 0.9998775060468721,
+ "scaling_efficiency": 0.999877506046872,
"peak_rss_mb": 0.0,
"cpu_pct": 12.116923759061113,
"duration_secs": 10.006341,
@@ -9768,7 +9768,7 @@
"e2e_p50_ms": 7.951416,
"e2e_p95_ms": 11.755958,
"e2e_p99_ms": 22.714875,
- "scaling_efficiency": 0.9997893369056345,
+ "scaling_efficiency": 0.9997893369056344,
"peak_rss_mb": 0.03125,
"cpu_pct": 26.57409539947991,
"duration_secs": 10.007587083,
@@ -9780,7 +9780,7 @@
"published": 999679,
"published_at_window_end": 999679,
"processed_at_window_end": 999394,
- "achieved_publish_msg_per_sec": 99892.11102625985,
+ "achieved_publish_msg_per_sec": 99892.11102625984,
"lag_at_window_end": 285,
"peak_lag": 4084,
"drain_secs": 0.01258725,
@@ -9876,7 +9876,7 @@
"e2e_p50_ms": 257.320916,
"e2e_p95_ms": 680.789041,
"e2e_p99_ms": 876.818125,
- "scaling_efficiency": 1.7986137541060903,
+ "scaling_efficiency": 1.7986137541060905,
"peak_rss_mb": 8.296875,
"cpu_pct": 322.3452077874202,
"duration_secs": 10.290763416,
@@ -9957,7 +9957,7 @@
"e2e_p50_ms": 113.471583,
"e2e_p95_ms": 191.017375,
"e2e_p99_ms": 222.175,
- "scaling_efficiency": 3.6098868853548165,
+ "scaling_efficiency": 3.609886885354817,
"peak_rss_mb": 0.0,
"cpu_pct": 0.0,
"duration_secs": 0.982899958,
@@ -10080,7 +10080,7 @@
"consumers": 8,
"handler": "zero (no-op)",
"handler_cost": "framework",
- "throughput_msg_per_sec": 99896.93940748267,
+ "throughput_msg_per_sec": 99896.93940748269,
"dispatch_p50_ms": 7.836666,
"dispatch_p95_ms": 12.767333,
"dispatch_p99_ms": 17.696208,
@@ -10099,7 +10099,7 @@
"published": 999603,
"published_at_window_end": 999603,
"processed_at_window_end": 999521,
- "achieved_publish_msg_per_sec": 99905.13488214645,
+ "achieved_publish_msg_per_sec": 99905.13488214643,
"lag_at_window_end": 82,
"peak_lag": 4697,
"drain_secs": 0.012308958,
@@ -10158,7 +10158,7 @@
"e2e_p50_ms": 6.4345,
"e2e_p95_ms": 8.303292,
"e2e_p99_ms": 12.341917,
- "scaling_efficiency": 1.0004457987811197,
+ "scaling_efficiency": 1.0004457987811195,
"peak_rss_mb": 0.0,
"cpu_pct": 12.006949453922916,
"duration_secs": 10.00448675,
@@ -10340,7 +10340,7 @@
"e2e_p50_ms": 199.167417,
"e2e_p95_ms": 410.870916,
"e2e_p99_ms": 520.404333,
- "scaling_efficiency": 1.6395347624779915,
+ "scaling_efficiency": 1.6395347624779917,
"peak_rss_mb": 5.28125,
"cpu_pct": 318.8762779214755,
"duration_secs": 10.228687417,
@@ -10415,9 +10415,9 @@
"e2e_p50_ms": 137.996542,
"e2e_p95_ms": 251.784667,
"e2e_p99_ms": 258.294833,
- "scaling_efficiency": 0.9963410929997911,
+ "scaling_efficiency": 0.9963410929997912,
"peak_rss_mb": 0.0,
- "cpu_pct": 10.629155660997327,
+ "cpu_pct": 10.629155660997329,
"duration_secs": 10.005629125,
"setup_secs": 6.441749291,
"load": {
@@ -10454,7 +10454,7 @@
"e2e_p50_ms": 81.39475,
"e2e_p95_ms": 186.898583,
"e2e_p99_ms": 229.524208,
- "scaling_efficiency": 0.9973427959273523,
+ "scaling_efficiency": 0.9973427959273524,
"peak_rss_mb": 0.0,
"cpu_pct": 14.260366153985604,
"duration_secs": 10.006096417,
@@ -10568,7 +10568,7 @@
"e2e_p50_ms": 139.161292,
"e2e_p95_ms": 251.969333,
"e2e_p99_ms": 259.060542,
- "scaling_efficiency": 0.9944352888354847,
+ "scaling_efficiency": 0.9944352888354848,
"peak_rss_mb": 0.046875,
"cpu_pct": 12.495119191029016,
"duration_secs": 10.005015584,
@@ -10639,14 +10639,14 @@
"handler_cost": "framework",
"max_batch_size": 500,
"max_batch_age_ms": 250,
- "throughput_msg_per_sec": 99685.13488273181,
+ "throughput_msg_per_sec": 99685.1348827318,
"dispatch_p50_ms": 22.031041,
"dispatch_p95_ms": 70.230375,
"dispatch_p99_ms": 103.627084,
"e2e_p50_ms": 22.052542,
"e2e_p95_ms": 70.245125,
"e2e_p99_ms": 103.635334,
- "scaling_efficiency": 0.9982544203936949,
+ "scaling_efficiency": 0.9982544203936948,
"peak_rss_mb": 0.046875,
"cpu_pct": 24.74107789908842,
"duration_secs": 10.006507,
@@ -10658,7 +10658,7 @@
"published": 999756,
"published_at_window_end": 999756,
"processed_at_window_end": 997500,
- "achieved_publish_msg_per_sec": 99910.58818027111,
+ "achieved_publish_msg_per_sec": 99910.58818027112,
"lag_at_window_end": 2256,
"peak_lag": 5804,
"drain_secs": 0.260969583,
@@ -10721,7 +10721,7 @@
"e2e_p50_ms": 139.604583,
"e2e_p95_ms": 254.423291,
"e2e_p99_ms": 260.83225,
- "scaling_efficiency": 0.9977371345380261,
+ "scaling_efficiency": 0.997737134538026,
"peak_rss_mb": 0.0,
"cpu_pct": 36.26740526643382,
"duration_secs": 10.006198958,
@@ -10835,7 +10835,7 @@
"peak_rss_mb": 0.015625,
"cpu_pct": 11.946231041079216,
"duration_secs": 10.004375375,
- "setup_secs": 6.6308504169999996,
+ "setup_secs": 6.630850417,
"load": {
"offered_msg_per_sec": 5000,
"window_secs": 10,
@@ -10917,7 +10917,7 @@
"published": 999619,
"published_at_window_end": 999619,
"processed_at_window_end": 999444,
- "achieved_publish_msg_per_sec": 99899.09510722097,
+ "achieved_publish_msg_per_sec": 99899.09510722096,
"lag_at_window_end": 175,
"peak_lag": 1694,
"drain_secs": 0.011724583,
@@ -10978,7 +10978,7 @@
"e2e_p99_ms": 12.090458,
"scaling_efficiency": 0.9975009910060204,
"peak_rss_mb": 0.0,
- "cpu_pct": 12.387038921910323,
+ "cpu_pct": 12.387038921910325,
"duration_secs": 10.031384875,
"setup_secs": 6.644562292,
"load": {
@@ -11087,7 +11087,7 @@
"e2e_p50_ms": 0.0,
"e2e_p95_ms": 0.0,
"e2e_p99_ms": 0.0,
- "scaling_efficiency": 1.9063162508476825,
+ "scaling_efficiency": 1.9063162508476823,
"peak_rss_mb": 0.0,
"cpu_pct": 0.0,
"duration_secs": 0.542282916,
@@ -11248,6 +11248,10099 @@
],
"failures": [],
"unsupported": []
+ },
+ {
+ "backend": "rabbitmq",
+ "broker": {
+ "name": "RabbitMQ",
+ "version": "3.8.22",
+ "deployment": "docker single-node"
+ },
+ "representative": true,
+ "results": [
+ {
+ "flow": "publish_single",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "no_handler",
+ "throughput_msg_per_sec": 1173.197264350351,
+ "dispatch_p50_ms": 0.780041,
+ "dispatch_p95_ms": 1.239333,
+ "dispatch_p99_ms": 2.100959,
+ "e2e_p50_ms": 0.780041,
+ "e2e_p95_ms": 1.239333,
+ "e2e_p99_ms": 2.100959,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.234375,
+ "cpu_pct": 0.0,
+ "duration_secs": 4.2618578750000005,
+ "setup_secs": 0.0
+ },
+ {
+ "flow": "publish_single",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "no_handler",
+ "throughput_msg_per_sec": 984.2605098701412,
+ "dispatch_p50_ms": 0.892834,
+ "dispatch_p95_ms": 1.641875,
+ "dispatch_p99_ms": 2.754083,
+ "e2e_p50_ms": 0.892834,
+ "e2e_p95_ms": 1.641875,
+ "e2e_p99_ms": 2.754083,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 1.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 5.079955916,
+ "setup_secs": 0.0
+ },
+ {
+ "flow": "publish_single",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "no_handler",
+ "throughput_msg_per_sec": 357.4392955929504,
+ "dispatch_p50_ms": 2.224667,
+ "dispatch_p95_ms": 5.683916,
+ "dispatch_p99_ms": 7.369459,
+ "e2e_p50_ms": 2.224667,
+ "e2e_p95_ms": 5.683916,
+ "e2e_p99_ms": 7.369459,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 126.609375,
+ "cpu_pct": 0.025578270812118664,
+ "duration_secs": 13.98838925,
+ "setup_secs": 0.0
+ },
+ {
+ "flow": "publish_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "no_handler",
+ "throughput_msg_per_sec": 39621.77057806182,
+ "dispatch_p50_ms": 22.718167,
+ "dispatch_p95_ms": 35.950084,
+ "dispatch_p99_ms": 35.950084,
+ "e2e_p50_ms": 22.718167,
+ "e2e_p95_ms": 35.950084,
+ "e2e_p99_ms": 35.950084,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 1.40625,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.12619325,
+ "setup_secs": 0.0
+ },
+ {
+ "flow": "publish_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "no_handler",
+ "throughput_msg_per_sec": 38518.35303226105,
+ "dispatch_p50_ms": 23.431209,
+ "dispatch_p95_ms": 37.549208,
+ "dispatch_p99_ms": 37.549208,
+ "e2e_p50_ms": 23.431209,
+ "e2e_p95_ms": 37.549208,
+ "e2e_p99_ms": 37.549208,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 2.640625,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.12980825,
+ "setup_secs": 0.0
+ },
+ {
+ "flow": "publish_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "no_handler",
+ "throughput_msg_per_sec": 6638.090792154905,
+ "dispatch_p50_ms": 104.381208,
+ "dispatch_p95_ms": 291.461708,
+ "dispatch_p99_ms": 291.461708,
+ "e2e_p50_ms": 104.381208,
+ "e2e_p95_ms": 291.461708,
+ "e2e_p99_ms": 291.461708,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 121.53125,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.753228625,
+ "setup_secs": 0.0
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 20661.730814319257,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.625,
+ "cpu_pct": 0.0,
+ "duration_secs": 261.3514835,
+ "setup_secs": 0.004671916,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 176.027740583,
+ "producers": 8,
+ "unique_at_start": 26,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.533320618362,
+ "dispatch_p50_ms": 1.223,
+ "dispatch_p95_ms": 9.512916,
+ "dispatch_p99_ms": 19.541708,
+ "e2e_p50_ms": 1.223042,
+ "e2e_p95_ms": 9.513,
+ "e2e_p99_ms": 19.541791,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 1.109375,
+ "cpu_pct": 0.005349276889022424,
+ "duration_secs": 10.00133375,
+ "setup_secs": 0.008048792,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.533320618362,
+ "lag_at_window_end": 0,
+ "peak_lag": 441,
+ "drain_secs": 1.25e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249936,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24989.59406311539,
+ "dispatch_p50_ms": 2.697542,
+ "dispatch_p95_ms": 6.5235,
+ "dispatch_p99_ms": 14.256542,
+ "e2e_p50_ms": 2.697584,
+ "e2e_p95_ms": 6.5235,
+ "e2e_p99_ms": 14.256625,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 4.3125,
+ "cpu_pct": 0.006258990607546596,
+ "duration_secs": 10.001603042,
+ "setup_secs": 0.010195,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249936,
+ "published_at_window_end": 249936,
+ "processed_at_window_end": 249936,
+ "achieved_publish_msg_per_sec": 24989.59406311539,
+ "lag_at_window_end": 0,
+ "peak_lag": 516,
+ "drain_secs": 8.3e-8,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249531,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24723.50813081532,
+ "dispatch_p50_ms": 201.090084,
+ "dispatch_p95_ms": 312.12275,
+ "dispatch_p99_ms": 334.064458,
+ "e2e_p50_ms": 201.090125,
+ "e2e_p95_ms": 312.122833,
+ "e2e_p99_ms": 334.0645,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.4375,
+ "cpu_pct": 0.004825186601928069,
+ "duration_secs": 10.092863791,
+ "setup_secs": 0.009053166,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249531,
+ "published_at_window_end": 249531,
+ "processed_at_window_end": 249531,
+ "achieved_publish_msg_per_sec": 24723.50813081532,
+ "lag_at_window_end": 0,
+ "peak_lag": 7982,
+ "drain_secs": 1.25e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 16862.20045585328,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.21875,
+ "cpu_pct": 0.0,
+ "duration_secs": 167.899142666,
+ "setup_secs": 0.089204333,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 108.649931167,
+ "producers": 8,
+ "unique_at_start": 7,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49824,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4976.074890307416,
+ "dispatch_p50_ms": 1.279833,
+ "dispatch_p95_ms": 14.755708,
+ "dispatch_p99_ms": 47.354375,
+ "e2e_p50_ms": 1.279875,
+ "e2e_p95_ms": 14.755792,
+ "e2e_p99_ms": 47.354458,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.109375,
+ "cpu_pct": 0.005622843197942247,
+ "duration_secs": 10.012711042,
+ "setup_secs": 0.007856208,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49824,
+ "published_at_window_end": 49824,
+ "processed_at_window_end": 49824,
+ "achieved_publish_msg_per_sec": 4976.074890307416,
+ "lag_at_window_end": 0,
+ "peak_lag": 895,
+ "drain_secs": 1.66e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 100921,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 2896.154919816261,
+ "dispatch_p50_ms": 9228.058416,
+ "dispatch_p95_ms": 10497.759167,
+ "dispatch_p99_ms": 10634.490166,
+ "e2e_p50_ms": 9228.0585,
+ "e2e_p95_ms": 10497.759208,
+ "e2e_p99_ms": 10634.490208,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.890625,
+ "cpu_pct": 0.0022436675638473043,
+ "duration_secs": 10.531895166,
+ "setup_secs": 0.006813417,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 100921,
+ "published_at_window_end": 100921,
+ "processed_at_window_end": 30502,
+ "achieved_publish_msg_per_sec": 9582.415928882594,
+ "lag_at_window_end": 70419,
+ "peak_lag": 71600,
+ "drain_secs": 9.881084667,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 1394.700522465382,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.734375,
+ "cpu_pct": 0.0,
+ "duration_secs": 31.714335291,
+ "setup_secs": 0.020854333,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 17.4370135,
+ "producers": 8,
+ "unique_at_start": 5,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 29628,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 2009.1145398806536,
+ "dispatch_p50_ms": 4739.223042,
+ "dispatch_p95_ms": 6920.028833,
+ "dispatch_p99_ms": 7118.207875,
+ "e2e_p50_ms": 4739.223083,
+ "e2e_p95_ms": 6920.028875,
+ "e2e_p99_ms": 7118.207917,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 120.390625,
+ "cpu_pct": 0.0023394715707699514,
+ "duration_secs": 14.746794875,
+ "setup_secs": 0.014761375,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 29628,
+ "published_at_window_end": 29628,
+ "processed_at_window_end": 29628,
+ "achieved_publish_msg_per_sec": 2009.1145398806536,
+ "lag_at_window_end": 0,
+ "peak_lag": 16372,
+ "drain_secs": 5.42e-7,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_fifo",
+ "mode": "fifo",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 40000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 2354.4979324160354,
+ "dispatch_p50_ms": 164.269666,
+ "dispatch_p95_ms": 910.027291,
+ "dispatch_p99_ms": 1252.5125,
+ "e2e_p50_ms": 164.269875,
+ "e2e_p95_ms": 910.027375,
+ "e2e_p99_ms": 1252.512667,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.171875,
+ "cpu_pct": 0.002030751991269096,
+ "duration_secs": 16.988759875,
+ "setup_secs": null
+ },
+ {
+ "flow": "consume_fifo",
+ "mode": "fifo",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 40000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 9985.522031548546,
+ "dispatch_p50_ms": 40.817792,
+ "dispatch_p95_ms": 111.39925,
+ "dispatch_p99_ms": 143.046459,
+ "e2e_p50_ms": 40.817834,
+ "e2e_p95_ms": 111.399417,
+ "e2e_p99_ms": 143.046625,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.203125,
+ "cpu_pct": 0.0,
+ "duration_secs": 4.005799584,
+ "setup_secs": null
+ },
+ {
+ "flow": "consume_fifo",
+ "mode": "fifo",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 40000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 3167.1744119289942,
+ "dispatch_p50_ms": 135.051,
+ "dispatch_p95_ms": 483.904542,
+ "dispatch_p99_ms": 982.096792,
+ "e2e_p50_ms": 135.051084,
+ "e2e_p95_ms": 483.904834,
+ "e2e_p99_ms": 982.097084,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 43.875,
+ "cpu_pct": 0.005067465283167653,
+ "duration_secs": 12.629553917,
+ "setup_secs": null
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 26179.33492209752,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0625,
+ "cpu_pct": 0.0,
+ "duration_secs": 206.250464959,
+ "setup_secs": 0.012106,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 350.184533333,
+ "producers": 8,
+ "unique_at_start": 500,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49976,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4946.60083984894,
+ "dispatch_p50_ms": 51.278167,
+ "dispatch_p95_ms": 110.381084,
+ "dispatch_p99_ms": 181.133167,
+ "e2e_p50_ms": 51.296,
+ "e2e_p95_ms": 110.391834,
+ "e2e_p99_ms": 181.137042,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.00375563414294556,
+ "duration_secs": 10.006871709,
+ "setup_secs": 0.258507167,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49976,
+ "published_at_window_end": 49976,
+ "processed_at_window_end": 49500,
+ "achieved_publish_msg_per_sec": 4994.168152975568,
+ "lag_at_window_end": 476,
+ "peak_lag": 1016,
+ "drain_secs": 0.164484166,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 182709,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 17863.71667324275,
+ "dispatch_p50_ms": 303.708584,
+ "dispatch_p95_ms": 934.026792,
+ "dispatch_p99_ms": 1108.14575,
+ "e2e_p50_ms": 303.723209,
+ "e2e_p95_ms": 934.049792,
+ "e2e_p99_ms": 1108.161667,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.671875,
+ "cpu_pct": 0.0030171115360129014,
+ "duration_secs": 10.160259666,
+ "setup_secs": 0.255251875,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 182709,
+ "published_at_window_end": 182709,
+ "processed_at_window_end": 181500,
+ "achieved_publish_msg_per_sec": 17982.709695049638,
+ "lag_at_window_end": 1209,
+ "peak_lag": 13209,
+ "drain_secs": 0.280143084,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 18411.851607149973,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.1875,
+ "cpu_pct": 0.0,
+ "duration_secs": 153.740974042,
+ "setup_secs": 0.21227275,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 173.48779725,
+ "producers": 8,
+ "unique_at_start": 500,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4949.043081734166,
+ "dispatch_p50_ms": 53.241209,
+ "dispatch_p95_ms": 100.780125,
+ "dispatch_p99_ms": 159.03775,
+ "e2e_p50_ms": 53.253917,
+ "e2e_p95_ms": 100.78325,
+ "e2e_p99_ms": 159.063417,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.004739435655830812,
+ "duration_secs": 10.001933542,
+ "setup_secs": 0.265002083,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49500,
+ "achieved_publish_msg_per_sec": 4998.233570546554,
+ "lag_at_window_end": 492,
+ "peak_lag": 785,
+ "drain_secs": 0.167995166,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 206122,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 20571.36705773417,
+ "dispatch_p50_ms": 239.654959,
+ "dispatch_p95_ms": 425.697416,
+ "dispatch_p99_ms": 493.550583,
+ "e2e_p50_ms": 239.670125,
+ "e2e_p95_ms": 425.714791,
+ "e2e_p99_ms": 493.561625,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.109375,
+ "cpu_pct": 0.003517019329022442,
+ "duration_secs": 10.013918833,
+ "setup_secs": 0.256061041,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 206122,
+ "published_at_window_end": 206122,
+ "processed_at_window_end": 206000,
+ "achieved_publish_msg_per_sec": 20583.550100360593,
+ "lag_at_window_end": 122,
+ "peak_lag": 10622,
+ "drain_secs": 0.250396333,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4255.7571867313,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 2.125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.277137083,
+ "setup_secs": 0.03020925,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 10.209107,
+ "producers": 8,
+ "unique_at_start": 500,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49856,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4928.251604968616,
+ "dispatch_p50_ms": 80.862167,
+ "dispatch_p95_ms": 179.184,
+ "dispatch_p99_ms": 252.35425,
+ "e2e_p50_ms": 80.868417,
+ "e2e_p95_ms": 179.189291,
+ "e2e_p99_ms": 252.372167,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 13.46875,
+ "cpu_pct": 0.004241445422994244,
+ "duration_secs": 10.044130042,
+ "setup_secs": 0.256258833,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49856,
+ "published_at_window_end": 49856,
+ "processed_at_window_end": 49500,
+ "achieved_publish_msg_per_sec": 4963.695192268997,
+ "lag_at_window_end": 356,
+ "peak_lag": 1318,
+ "drain_secs": 0.164627083,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 63461,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 5791.148236814254,
+ "dispatch_p50_ms": 935.746667,
+ "dispatch_p95_ms": 1516.780208,
+ "dispatch_p99_ms": 1649.492916,
+ "e2e_p50_ms": 935.751875,
+ "e2e_p95_ms": 1516.804291,
+ "e2e_p99_ms": 1649.526,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 86.734375,
+ "cpu_pct": 0.004883521971129398,
+ "duration_secs": 10.878671625,
+ "setup_secs": 0.256648333,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 63461,
+ "published_at_window_end": 63461,
+ "processed_at_window_end": 63000,
+ "achieved_publish_msg_per_sec": 5833.5247342296725,
+ "lag_at_window_end": 461,
+ "peak_lag": 8961,
+ "drain_secs": 0.178900125,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 18981.22075943463,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.25,
+ "cpu_pct": 0.0,
+ "duration_secs": 284.490290084,
+ "setup_secs": 0.006456125,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 183.590919417,
+ "producers": 8,
+ "unique_at_start": 27,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49990,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4997.97868354773,
+ "dispatch_p50_ms": 1.24875,
+ "dispatch_p95_ms": 9.125,
+ "dispatch_p99_ms": 19.042958,
+ "e2e_p50_ms": 1.248875,
+ "e2e_p95_ms": 9.125125,
+ "e2e_p99_ms": 19.043,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.007058543293492914,
+ "duration_secs": 10.002043459,
+ "setup_secs": 0.008670875,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49990,
+ "published_at_window_end": 49990,
+ "processed_at_window_end": 49990,
+ "achieved_publish_msg_per_sec": 4997.97868354773,
+ "lag_at_window_end": 0,
+ "peak_lag": 395,
+ "drain_secs": 3.33e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 232975,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 22396.98776433519,
+ "dispatch_p50_ms": 4.696167,
+ "dispatch_p95_ms": 358.146459,
+ "dispatch_p99_ms": 403.61,
+ "e2e_p50_ms": 4.69625,
+ "e2e_p95_ms": 358.1465,
+ "e2e_p99_ms": 403.610167,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.28125,
+ "cpu_pct": 0.005450832232668392,
+ "duration_secs": 10.402068459,
+ "setup_secs": 0.010330542,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 232975,
+ "published_at_window_end": 232975,
+ "processed_at_window_end": 232975,
+ "achieved_publish_msg_per_sec": 22396.98776433519,
+ "lag_at_window_end": 0,
+ "peak_lag": 7954,
+ "drain_secs": 3.33e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 20038.436791555443,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 141.285921125,
+ "setup_secs": 0.0842755,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 106.242308625,
+ "producers": 8,
+ "unique_at_start": 7,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4997.35682887869,
+ "dispatch_p50_ms": 0.807667,
+ "dispatch_p95_ms": 1.7685,
+ "dispatch_p99_ms": 3.467542,
+ "e2e_p50_ms": 0.807709,
+ "e2e_p95_ms": 1.768541,
+ "e2e_p99_ms": 3.467625,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.007607179447017023,
+ "duration_secs": 10.003688292,
+ "setup_secs": 0.010080208,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4997.35682887869,
+ "lag_at_window_end": 0,
+ "peak_lag": 28,
+ "drain_secs": 2.92e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 207485,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 19917.058413132116,
+ "dispatch_p50_ms": 45.569,
+ "dispatch_p95_ms": 759.705042,
+ "dispatch_p99_ms": 847.017458,
+ "e2e_p50_ms": 45.569041,
+ "e2e_p95_ms": 759.705125,
+ "e2e_p99_ms": 847.017542,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.125,
+ "cpu_pct": 0.006412309458301388,
+ "duration_secs": 10.417452,
+ "setup_secs": 0.0086215,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 207485,
+ "published_at_window_end": 207485,
+ "processed_at_window_end": 207485,
+ "achieved_publish_msg_per_sec": 19917.058413132116,
+ "lag_at_window_end": 0,
+ "peak_lag": 14705,
+ "drain_secs": 2.5e-7,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 10272.974979120354,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.6875,
+ "cpu_pct": 0.01032793718626076,
+ "duration_secs": 4.305179375,
+ "setup_secs": 0.009348542,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 6.735005917,
+ "producers": 8,
+ "unique_at_start": 10,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49981,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4995.644370527525,
+ "dispatch_p50_ms": 3.087917,
+ "dispatch_p95_ms": 5.587417,
+ "dispatch_p99_ms": 8.630667,
+ "e2e_p50_ms": 3.088,
+ "e2e_p95_ms": 5.587458,
+ "e2e_p99_ms": 8.630709,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.004987539999543071,
+ "duration_secs": 10.004915541,
+ "setup_secs": 0.008744709,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49981,
+ "published_at_window_end": 49981,
+ "processed_at_window_end": 49981,
+ "achieved_publish_msg_per_sec": 4995.644370527525,
+ "lag_at_window_end": 0,
+ "peak_lag": 79,
+ "drain_secs": 4.59e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 88173,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4916.743983285511,
+ "dispatch_p50_ms": 3536.762375,
+ "dispatch_p95_ms": 5150.271666,
+ "dispatch_p99_ms": 5440.877208,
+ "e2e_p50_ms": 3536.7625,
+ "e2e_p95_ms": 5150.271708,
+ "e2e_p99_ms": 5440.877291,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 501.953125,
+ "cpu_pct": 0.005725306157318091,
+ "duration_secs": 10.694882666,
+ "setup_secs": 0.011854708,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 88173,
+ "published_at_window_end": 88173,
+ "processed_at_window_end": 52584,
+ "achieved_publish_msg_per_sec": 8244.410224369263,
+ "lag_at_window_end": 35589,
+ "peak_lag": 41452,
+ "drain_secs": 3.0510795,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 20897.38966651582,
+ "dispatch_p50_ms": 85.126209,
+ "dispatch_p95_ms": 110.535583,
+ "dispatch_p99_ms": 116.913292,
+ "e2e_p50_ms": 85.126209,
+ "e2e_p95_ms": 110.535666,
+ "e2e_p99_ms": 116.913333,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.239264333,
+ "setup_secs": 0.210810625
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 18524.390338602738,
+ "dispatch_p50_ms": 102.048167,
+ "dispatch_p95_ms": 130.659208,
+ "dispatch_p99_ms": 138.194083,
+ "e2e_p50_ms": 102.048167,
+ "e2e_p95_ms": 130.65925,
+ "e2e_p99_ms": 138.194125,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.269914416,
+ "setup_secs": 0.211250667
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 10153.12092235434,
+ "dispatch_p50_ms": 150.416291,
+ "dispatch_p95_ms": 189.276083,
+ "dispatch_p99_ms": 194.838292,
+ "e2e_p50_ms": 150.416416,
+ "e2e_p95_ms": 189.276167,
+ "e2e_p99_ms": 194.838375,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 12.234375,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.492459416,
+ "setup_secs": 0.209956584
+ },
+ {
+ "flow": "dlq_drain",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 19656.744106048136,
+ "dispatch_p50_ms": 128.454625,
+ "dispatch_p95_ms": 233.276084,
+ "dispatch_p99_ms": 242.382667,
+ "e2e_p50_ms": 128.454667,
+ "e2e_p95_ms": 233.276125,
+ "e2e_p99_ms": 242.382709,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.12264908292158797,
+ "duration_secs": 0.254365625,
+ "setup_secs": null
+ },
+ {
+ "flow": "dlq_drain",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 18196.78361368281,
+ "dispatch_p50_ms": 146.693083,
+ "dispatch_p95_ms": 261.834125,
+ "dispatch_p99_ms": 271.274583,
+ "e2e_p50_ms": 146.693125,
+ "e2e_p95_ms": 261.834167,
+ "e2e_p99_ms": 271.274625,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.274773834,
+ "setup_secs": null
+ },
+ {
+ "flow": "dlq_drain",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 15103.86552233458,
+ "dispatch_p50_ms": 178.229875,
+ "dispatch_p95_ms": 310.772208,
+ "dispatch_p99_ms": 320.99675,
+ "e2e_p50_ms": 178.229917,
+ "e2e_p95_ms": 310.77225,
+ "e2e_p99_ms": 320.99675,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.1030031380611479,
+ "duration_secs": 0.331041083,
+ "setup_secs": null
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 22434.48579691158,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0857989583991554,
+ "peak_rss_mb": 0.0625,
+ "cpu_pct": 0.0,
+ "duration_secs": 240.697649542,
+ "setup_secs": 0.004726167,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 176.775789084,
+ "producers": 8,
+ "unique_at_start": 72,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.764274214139,
+ "dispatch_p50_ms": 0.834792,
+ "dispatch_p95_ms": 1.527542,
+ "dispatch_p99_ms": 2.440709,
+ "e2e_p50_ms": 0.834875,
+ "e2e_p95_ms": 1.527583,
+ "e2e_p99_ms": 2.44075,
+ "scaling_efficiency": 1.000046204272526,
+ "peak_rss_mb": 0.078125,
+ "cpu_pct": 0.00470958047428705,
+ "duration_secs": 10.000871667,
+ "setup_secs": 0.213718833,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.764274214139,
+ "lag_at_window_end": 0,
+ "peak_lag": 24,
+ "drain_secs": 3.75e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 190698,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 18706.100866806224,
+ "dispatch_p50_ms": 234.725625,
+ "dispatch_p95_ms": 459.624791,
+ "dispatch_p99_ms": 532.625125,
+ "e2e_p50_ms": 234.725834,
+ "e2e_p95_ms": 459.624958,
+ "e2e_p99_ms": 532.625208,
+ "scaling_efficiency": 0.7485556115701938,
+ "peak_rss_mb": 0.171875,
+ "cpu_pct": 0.007170573838275548,
+ "duration_secs": 10.194428083,
+ "setup_secs": 0.220373833,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 190698,
+ "published_at_window_end": 190698,
+ "processed_at_window_end": 190698,
+ "achieved_publish_msg_per_sec": 18706.100866806224,
+ "lag_at_window_end": 0,
+ "peak_lag": 7789,
+ "drain_secs": 4.17e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 23151.78323713006,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.3729989331904493,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 122.282114125,
+ "setup_secs": 0.130154542,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 102.489367,
+ "producers": 8,
+ "unique_at_start": 107,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49986,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.363223035598,
+ "dispatch_p50_ms": 0.799625,
+ "dispatch_p95_ms": 2.578458,
+ "dispatch_p99_ms": 4.895042,
+ "e2e_p50_ms": 0.799708,
+ "e2e_p95_ms": 2.5785,
+ "e2e_p99_ms": 4.89525,
+ "scaling_efficiency": 1.0044790991332535,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.006919661512575392,
+ "duration_secs": 10.000473709,
+ "setup_secs": 0.21847575,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49986,
+ "published_at_window_end": 49986,
+ "processed_at_window_end": 49986,
+ "achieved_publish_msg_per_sec": 4998.363223035598,
+ "lag_at_window_end": 0,
+ "peak_lag": 35,
+ "drain_secs": 2.91e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249936,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24990.010497367184,
+ "dispatch_p50_ms": 2.506084,
+ "dispatch_p95_ms": 10.07,
+ "dispatch_p99_ms": 22.53925,
+ "e2e_p50_ms": 2.506167,
+ "e2e_p95_ms": 10.070042,
+ "e2e_p99_ms": 22.539334,
+ "scaling_efficiency": 8.628685684725943,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.006709023891683694,
+ "duration_secs": 10.001436375,
+ "setup_secs": 0.226138375,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249936,
+ "published_at_window_end": 249936,
+ "processed_at_window_end": 249936,
+ "achieved_publish_msg_per_sec": 24990.010497367184,
+ "lag_at_window_end": 0,
+ "peak_lag": 645,
+ "drain_secs": 2.5e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 234756,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 23094.80487110175,
+ "dispatch_p50_ms": 220.287791,
+ "dispatch_p95_ms": 330.259083,
+ "dispatch_p99_ms": 356.015334,
+ "e2e_p50_ms": 220.287875,
+ "e2e_p95_ms": 330.259167,
+ "e2e_p99_ms": 356.015375,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.004918888793579633,
+ "duration_secs": 10.164883458,
+ "setup_secs": 0.215308875,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 234756,
+ "published_at_window_end": 234756,
+ "processed_at_window_end": 234756,
+ "achieved_publish_msg_per_sec": 23094.80487110175,
+ "lag_at_window_end": 0,
+ "peak_lag": 7968,
+ "drain_secs": 3.34e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 9430.150214278738,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 6.761415846901143,
+ "peak_rss_mb": 0.15625,
+ "cpu_pct": 0.010050568888843146,
+ "duration_secs": 4.687942291,
+ "setup_secs": 0.0069205,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 9.595504792,
+ "producers": 8,
+ "unique_at_start": 29,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4997.283895933338,
+ "dispatch_p50_ms": 2.098708,
+ "dispatch_p95_ms": 5.855084,
+ "dispatch_p99_ms": 67.451375,
+ "e2e_p50_ms": 2.09875,
+ "e2e_p95_ms": 5.855167,
+ "e2e_p99_ms": 67.451458,
+ "scaling_efficiency": 2.4873066202737197,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.006677418510191606,
+ "duration_secs": 10.003834291,
+ "setup_secs": 0.220016292,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4997.283895933338,
+ "lag_at_window_end": 0,
+ "peak_lag": 860,
+ "drain_secs": 4.59e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 106663,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 7176.5351525648575,
+ "dispatch_p50_ms": 1560.9575,
+ "dispatch_p95_ms": 6404.154458,
+ "dispatch_p99_ms": 6756.86125,
+ "e2e_p50_ms": 1560.9575,
+ "e2e_p95_ms": 6404.154458,
+ "e2e_p99_ms": 6756.861291,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 219.90625,
+ "cpu_pct": 0.004144586281174606,
+ "duration_secs": 14.862743334,
+ "setup_secs": 0.217549667,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 106663,
+ "published_at_window_end": 106663,
+ "processed_at_window_end": 106663,
+ "achieved_publish_msg_per_sec": 7176.5351525648575,
+ "lag_at_window_end": 0,
+ "peak_lag": 43060,
+ "drain_secs": 2.5e-7,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 35486.317048551085,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.3555087306132327,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.0,
+ "duration_secs": 152.143148375,
+ "setup_secs": 0.010678875,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 173.407491958,
+ "producers": 8,
+ "unique_at_start": 1000,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49988,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4948.731456554903,
+ "dispatch_p50_ms": 98.786292,
+ "dispatch_p95_ms": 190.489708,
+ "dispatch_p99_ms": 198.550042,
+ "e2e_p50_ms": 98.805084,
+ "e2e_p95_ms": 190.493541,
+ "e2e_p99_ms": 198.554625,
+ "scaling_efficiency": 1.0004307233946994,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.00774928571920657,
+ "duration_secs": 10.001755083,
+ "setup_secs": 0.465039667,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49988,
+ "published_at_window_end": 49988,
+ "processed_at_window_end": 49496,
+ "achieved_publish_msg_per_sec": 4997.922823061793,
+ "lag_at_window_end": 492,
+ "peak_lag": 985,
+ "drain_secs": 0.257188917,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249904,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 24948.409441942706,
+ "dispatch_p50_ms": 20.980208,
+ "dispatch_p95_ms": 38.456667,
+ "dispatch_p99_ms": 41.948542,
+ "e2e_p50_ms": 20.994958,
+ "e2e_p95_ms": 38.459709,
+ "e2e_p99_ms": 41.959917,
+ "scaling_efficiency": 1.3965967944012343,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.006745918043986529,
+ "duration_secs": 10.000477208,
+ "setup_secs": 0.466209292,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249904,
+ "published_at_window_end": 249904,
+ "processed_at_window_end": 249496,
+ "achieved_publish_msg_per_sec": 24989.207495026974,
+ "lag_at_window_end": 408,
+ "peak_lag": 1084,
+ "drain_secs": 0.257533792,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 362684,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 35482.679147049625,
+ "dispatch_p50_ms": 151.963375,
+ "dispatch_p95_ms": 232.063333,
+ "dispatch_p99_ms": 253.430709,
+ "e2e_p50_ms": 151.997917,
+ "e2e_p95_ms": 232.066458,
+ "e2e_p99_ms": 253.458875,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 2.34375,
+ "cpu_pct": 0.006721329740755727,
+ "duration_secs": 10.2161395,
+ "setup_secs": 0.469557208,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 362684,
+ "published_at_window_end": 362684,
+ "processed_at_window_end": 362496,
+ "achieved_publish_msg_per_sec": 35501.08140163904,
+ "lag_at_window_end": 188,
+ "peak_lag": 8688,
+ "drain_secs": 0.257515333,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 41044.09922931657,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 2.2292217048598033,
+ "peak_rss_mb": 0.125,
+ "cpu_pct": 0.0,
+ "duration_secs": 68.954028792,
+ "setup_secs": 0.151247417,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 101.812614917,
+ "producers": 8,
+ "unique_at_start": 1000,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4949.436585937074,
+ "dispatch_p50_ms": 100.855791,
+ "dispatch_p95_ms": 190.78175,
+ "dispatch_p99_ms": 198.683084,
+ "e2e_p50_ms": 100.892458,
+ "e2e_p95_ms": 190.787916,
+ "e2e_p99_ms": 198.685125,
+ "scaling_efficiency": 1.0000795111694138,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.006618130407365366,
+ "duration_secs": 10.000330167,
+ "setup_secs": 0.466656291,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49496,
+ "achieved_publish_msg_per_sec": 4999.034948362821,
+ "lag_at_window_end": 496,
+ "peak_lag": 1000,
+ "drain_secs": 0.259326083,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249960,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 24940.416938483253,
+ "dispatch_p50_ms": 22.177958,
+ "dispatch_p95_ms": 39.8,
+ "dispatch_p99_ms": 44.059458,
+ "e2e_p50_ms": 22.200583,
+ "e2e_p95_ms": 39.803875,
+ "e2e_p99_ms": 44.062208,
+ "scaling_efficiency": 1.2123850042871342,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.007032885825316303,
+ "duration_secs": 10.003682,
+ "setup_secs": 0.467618958,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249960,
+ "published_at_window_end": 249960,
+ "processed_at_window_end": 249496,
+ "achieved_publish_msg_per_sec": 24986.79986029144,
+ "lag_at_window_end": 464,
+ "peak_lag": 1014,
+ "drain_secs": 0.2480855,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 315092,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 30887.136366710496,
+ "dispatch_p50_ms": 164.460041,
+ "dispatch_p95_ms": 261.014125,
+ "dispatch_p99_ms": 286.068,
+ "e2e_p50_ms": 164.474708,
+ "e2e_p95_ms": 261.020125,
+ "e2e_p99_ms": 286.0765,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.004862173659936619,
+ "duration_secs": 10.182102875,
+ "setup_secs": 0.461637375,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 315092,
+ "published_at_window_end": 315092,
+ "processed_at_window_end": 314496,
+ "achieved_publish_msg_per_sec": 30945.670444328523,
+ "lag_at_window_end": 596,
+ "peak_lag": 8596,
+ "drain_secs": 0.245272583,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 12028.346609700537,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 2.8263705098596317,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.014276713101107414,
+ "duration_secs": 3.594592125,
+ "setup_secs": 0.033049666,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 7.430157208,
+ "producers": 8,
+ "unique_at_start": 1000,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49954,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4930.169223376546,
+ "dispatch_p50_ms": 101.917125,
+ "dispatch_p95_ms": 195.343584,
+ "dispatch_p99_ms": 261.117791,
+ "e2e_p50_ms": 101.9385,
+ "e2e_p95_ms": 195.346834,
+ "e2e_p99_ms": 261.144333,
+ "scaling_efficiency": 1.00038910724566,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.007035010892026635,
+ "duration_secs": 10.003104917,
+ "setup_secs": 0.463603167,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49954,
+ "published_at_window_end": 49954,
+ "processed_at_window_end": 49317,
+ "achieved_publish_msg_per_sec": 4993.8494511943545,
+ "lag_at_window_end": 637,
+ "peak_lag": 1016,
+ "drain_secs": 0.188728625,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 130260,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 12313.236689573594,
+ "dispatch_p50_ms": 450.253542,
+ "dispatch_p95_ms": 1214.654542,
+ "dispatch_p99_ms": 1330.33825,
+ "e2e_p50_ms": 450.264708,
+ "e2e_p95_ms": 1214.667417,
+ "e2e_p99_ms": 1330.339916,
+ "scaling_efficiency": 2.1262168029646538,
+ "peak_rss_mb": 253.59375,
+ "cpu_pct": 0.006470731140806125,
+ "duration_secs": 10.557419083,
+ "setup_secs": 0.464749542,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 130260,
+ "published_at_window_end": 130260,
+ "processed_at_window_end": 129996,
+ "achieved_publish_msg_per_sec": 12338.24280119278,
+ "lag_at_window_end": 264,
+ "peak_lag": 14764,
+ "drain_secs": 0.198665209,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 22535.120554033427,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.1872324145870508,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 239.623257708,
+ "setup_secs": 0.008859583,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 175.4472585,
+ "producers": 8,
+ "unique_at_start": 61,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.368000653146,
+ "dispatch_p50_ms": 0.693666,
+ "dispatch_p95_ms": 2.220625,
+ "dispatch_p99_ms": 6.400541,
+ "e2e_p50_ms": 0.69375,
+ "e2e_p95_ms": 2.220667,
+ "e2e_p99_ms": 6.402583,
+ "scaling_efficiency": 1.0000778949111362,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.008378585868286183,
+ "duration_secs": 10.001664542,
+ "setup_secs": 0.2205585,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.368000653146,
+ "lag_at_window_end": 0,
+ "peak_lag": 300,
+ "drain_secs": 2.08e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249984,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24986.48727741481,
+ "dispatch_p50_ms": 2.791917,
+ "dispatch_p95_ms": 6.572,
+ "dispatch_p99_ms": 13.435291,
+ "e2e_p50_ms": 2.792,
+ "e2e_p95_ms": 6.572042,
+ "e2e_p99_ms": 13.435333,
+ "scaling_efficiency": 1.1156182045695948,
+ "peak_rss_mb": 0.0625,
+ "cpu_pct": 0.005787235606698905,
+ "duration_secs": 10.004767666,
+ "setup_secs": 0.2226095,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249984,
+ "published_at_window_end": 249984,
+ "processed_at_window_end": 249984,
+ "achieved_publish_msg_per_sec": 24986.48727741481,
+ "lag_at_window_end": 0,
+ "peak_lag": 696,
+ "drain_secs": 8.4e-8,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 276213,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 27128.41179937488,
+ "dispatch_p50_ms": 188.063334,
+ "dispatch_p95_ms": 281.795667,
+ "dispatch_p99_ms": 300.2075,
+ "e2e_p50_ms": 188.063375,
+ "e2e_p95_ms": 281.795708,
+ "e2e_p99_ms": 300.207542,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.004842021635634577,
+ "duration_secs": 10.181687083,
+ "setup_secs": 0.22397125,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 276213,
+ "published_at_window_end": 276213,
+ "processed_at_window_end": 276213,
+ "achieved_publish_msg_per_sec": 27128.41179937488,
+ "lag_at_window_end": 0,
+ "peak_lag": 7867,
+ "drain_secs": 2.08e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 22935.23435501176,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.1445620530977283,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 123.437936416,
+ "setup_secs": 0.100879917,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 102.742235792,
+ "producers": 8,
+ "unique_at_start": 78,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49989,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.197649267767,
+ "dispatch_p50_ms": 0.784833,
+ "dispatch_p95_ms": 3.616541,
+ "dispatch_p99_ms": 13.771792,
+ "e2e_p50_ms": 0.784917,
+ "e2e_p95_ms": 3.616583,
+ "e2e_p99_ms": 13.771833,
+ "scaling_efficiency": 1.0001682530221212,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.00567919111892782,
+ "duration_secs": 10.001405208,
+ "setup_secs": 0.218138042,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49989,
+ "published_at_window_end": 49989,
+ "processed_at_window_end": 49989,
+ "achieved_publish_msg_per_sec": 4998.197649267767,
+ "lag_at_window_end": 0,
+ "peak_lag": 389,
+ "drain_secs": 1.25e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249960,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24986.623247405983,
+ "dispatch_p50_ms": 2.6595,
+ "dispatch_p95_ms": 7.334833,
+ "dispatch_p99_ms": 12.214208,
+ "e2e_p50_ms": 2.659583,
+ "e2e_p95_ms": 7.334875,
+ "e2e_p99_ms": 12.214291,
+ "scaling_efficiency": 1.254533813634412,
+ "peak_rss_mb": 0.0625,
+ "cpu_pct": 0.0054679401584250675,
+ "duration_secs": 10.003752709,
+ "setup_secs": 0.221596125,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249960,
+ "published_at_window_end": 249960,
+ "processed_at_window_end": 249960,
+ "achieved_publish_msg_per_sec": 24986.623247405983,
+ "lag_at_window_end": 0,
+ "peak_lag": 471,
+ "drain_secs": 2.08e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 259603,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 25285.89781915091,
+ "dispatch_p50_ms": 188.732208,
+ "dispatch_p95_ms": 298.991917,
+ "dispatch_p99_ms": 320.569375,
+ "e2e_p50_ms": 188.73225,
+ "e2e_p95_ms": 298.991959,
+ "e2e_p99_ms": 320.569458,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.109375,
+ "cpu_pct": 0.005386334584879941,
+ "duration_secs": 10.266710791,
+ "setup_secs": 0.217670958,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 259603,
+ "published_at_window_end": 259603,
+ "processed_at_window_end": 259603,
+ "achieved_publish_msg_per_sec": 25285.89781915091,
+ "lag_at_window_end": 0,
+ "peak_lag": 8000,
+ "drain_secs": 2.09e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 11066.99481680474,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0772921027548708,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.01076475404424298,
+ "duration_secs": 3.9951225,
+ "setup_secs": 0.013576917,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 7.035294084,
+ "producers": 8,
+ "unique_at_start": 23,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49978,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4995.176782912454,
+ "dispatch_p50_ms": 2.513041,
+ "dispatch_p95_ms": 4.80275,
+ "dispatch_p99_ms": 7.802834,
+ "e2e_p50_ms": 2.513083,
+ "e2e_p95_ms": 4.802792,
+ "e2e_p99_ms": 7.803,
+ "scaling_efficiency": 0.9999064009404212,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0066365032829287076,
+ "duration_secs": 10.0052515,
+ "setup_secs": 0.222315625,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49978,
+ "published_at_window_end": 49978,
+ "processed_at_window_end": 49978,
+ "achieved_publish_msg_per_sec": 4995.176782912454,
+ "lag_at_window_end": 0,
+ "peak_lag": 84,
+ "drain_secs": 2.5e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 106552,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 6654.778171600018,
+ "dispatch_p50_ms": 1466.310333,
+ "dispatch_p95_ms": 5281.450333,
+ "dispatch_p99_ms": 5507.117792,
+ "e2e_p50_ms": 1466.310458,
+ "e2e_p95_ms": 5281.450375,
+ "e2e_p99_ms": 5507.117834,
+ "scaling_efficiency": 1.3534929201567056,
+ "peak_rss_mb": 24.953125,
+ "cpu_pct": 0.0043828877872806775,
+ "duration_secs": 11.68258325,
+ "setup_secs": 0.219685959,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 106552,
+ "published_at_window_end": 106552,
+ "processed_at_window_end": 77745,
+ "achieved_publish_msg_per_sec": 9120.585552001095,
+ "lag_at_window_end": 28807,
+ "peak_lag": 36341,
+ "drain_secs": 2.919646458,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 29850.33050256082,
+ "dispatch_p50_ms": 155.590542,
+ "dispatch_p95_ms": 184.897292,
+ "dispatch_p99_ms": 190.480208,
+ "e2e_p50_ms": 155.590584,
+ "e2e_p95_ms": 184.897417,
+ "e2e_p99_ms": 190.48025,
+ "scaling_efficiency": 1.428423883504954,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.335004666,
+ "setup_secs": 0.209723292
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 32182.655881722305,
+ "dispatch_p50_ms": 113.209584,
+ "dispatch_p95_ms": 161.099916,
+ "dispatch_p99_ms": 169.2135,
+ "e2e_p50_ms": 113.209667,
+ "e2e_p95_ms": 161.100041,
+ "e2e_p99_ms": 169.213541,
+ "scaling_efficiency": 1.737312553528808,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.310726375,
+ "setup_secs": 0.210923667
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 17530.77179001918,
+ "dispatch_p50_ms": 202.330833,
+ "dispatch_p95_ms": 240.765875,
+ "dispatch_p99_ms": 247.152542,
+ "e2e_p50_ms": 202.330875,
+ "e2e_p95_ms": 240.765917,
+ "e2e_p99_ms": 247.152584,
+ "scaling_efficiency": 1.7266387275484238,
+ "peak_rss_mb": 0.984375,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.570425542,
+ "setup_secs": 0.206563958
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 25996.88819808347,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.2582144463941412,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 207.708513375,
+ "setup_secs": 0.007676584,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 175.204911875,
+ "producers": 8,
+ "unique_at_start": 225,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.809280569608,
+ "dispatch_p50_ms": 0.62725,
+ "dispatch_p95_ms": 1.287459,
+ "dispatch_p99_ms": 2.804292,
+ "e2e_p50_ms": 0.627292,
+ "e2e_p95_ms": 1.287667,
+ "e2e_p99_ms": 2.8045,
+ "scaling_efficiency": 1.0000552081847904,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0077093818361842975,
+ "duration_secs": 10.000781625,
+ "setup_secs": 0.21915625,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.809280569608,
+ "lag_at_window_end": 0,
+ "peak_lag": 24,
+ "drain_secs": 2.92e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249906,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24986.78940967051,
+ "dispatch_p50_ms": 2.969,
+ "dispatch_p95_ms": 7.070625,
+ "dispatch_p99_ms": 15.909417,
+ "e2e_p50_ms": 2.969083,
+ "e2e_p95_ms": 7.070666,
+ "e2e_p99_ms": 15.9095,
+ "scaling_efficiency": 0.9998877671466851,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.007438858289386532,
+ "duration_secs": 10.001525042,
+ "setup_secs": 0.222559167,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249906,
+ "published_at_window_end": 249906,
+ "processed_at_window_end": 249906,
+ "achieved_publish_msg_per_sec": 24986.78940967051,
+ "lag_at_window_end": 0,
+ "peak_lag": 459,
+ "drain_secs": 8.3e-8,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 283527,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 27571.12523084392,
+ "dispatch_p50_ms": 178.281916,
+ "dispatch_p95_ms": 274.798458,
+ "dispatch_p99_ms": 291.92175,
+ "e2e_p50_ms": 178.282041,
+ "e2e_p95_ms": 274.798583,
+ "e2e_p99_ms": 291.921833,
+ "scaling_efficiency": 1.115178520983409,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.004210629668189375,
+ "duration_secs": 10.283475833,
+ "setup_secs": 0.222652834,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 283527,
+ "published_at_window_end": 283527,
+ "processed_at_window_end": 283527,
+ "achieved_publish_msg_per_sec": 27571.12523084392,
+ "lag_at_window_end": 0,
+ "peak_lag": 7998,
+ "drain_secs": 3.34e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 26029.16334085012,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.5436397763741898,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 99.974823083,
+ "setup_secs": 9.296198,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 103.1043575,
+ "producers": 8,
+ "unique_at_start": 228895,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.673473227443,
+ "dispatch_p50_ms": 1.01525,
+ "dispatch_p95_ms": 5.156541,
+ "dispatch_p99_ms": 14.763167,
+ "e2e_p50_ms": 1.015292,
+ "e2e_p95_ms": 5.156583,
+ "e2e_p99_ms": 14.76325,
+ "scaling_efficiency": 1.0045414475099732,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.006309325481860395,
+ "duration_secs": 10.001053333,
+ "setup_secs": 0.216459958,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.673473227443,
+ "lag_at_window_end": 0,
+ "peak_lag": 134,
+ "drain_secs": 3.34e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249824,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24972.74917869162,
+ "dispatch_p50_ms": 6.104583,
+ "dispatch_p95_ms": 33.41375,
+ "dispatch_p99_ms": 46.741209,
+ "e2e_p50_ms": 6.104666,
+ "e2e_p95_ms": 33.413792,
+ "e2e_p99_ms": 46.741292,
+ "scaling_efficiency": 8.62272560346183,
+ "peak_rss_mb": 0.0625,
+ "cpu_pct": 0.003968462317998126,
+ "duration_secs": 10.003864541,
+ "setup_secs": 0.219900333,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249824,
+ "published_at_window_end": 249824,
+ "processed_at_window_end": 249824,
+ "achieved_publish_msg_per_sec": 24972.74917869162,
+ "lag_at_window_end": 0,
+ "peak_lag": 1813,
+ "drain_secs": 1.25e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 251866,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24400.95640875232,
+ "dispatch_p50_ms": 204.165083,
+ "dispatch_p95_ms": 312.378958,
+ "dispatch_p99_ms": 333.150166,
+ "e2e_p50_ms": 204.165208,
+ "e2e_p95_ms": 312.379,
+ "e2e_p99_ms": 333.150208,
+ "scaling_efficiency": 1.0565560759201278,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.003042051224524895,
+ "duration_secs": 10.321972458,
+ "setup_secs": 0.227194916,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 251866,
+ "published_at_window_end": 251866,
+ "processed_at_window_end": 251866,
+ "achieved_publish_msg_per_sec": 24400.95640875232,
+ "lag_at_window_end": 0,
+ "peak_lag": 7997,
+ "drain_secs": 1.67e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 8070.157014661179,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 5.786300990549382,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 5.479447292,
+ "setup_secs": 0.01262275,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 9.948340458,
+ "producers": 8,
+ "unique_at_start": 17,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49952,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4986.2026884429415,
+ "dispatch_p50_ms": 9.113875,
+ "dispatch_p95_ms": 226.042708,
+ "dispatch_p99_ms": 295.38075,
+ "e2e_p50_ms": 9.113958,
+ "e2e_p95_ms": 226.042792,
+ "e2e_p99_ms": 295.380792,
+ "scaling_efficiency": 2.481791152006264,
+ "peak_rss_mb": 1.8125,
+ "cpu_pct": 0.006258695232958266,
+ "duration_secs": 10.018044416,
+ "setup_secs": 0.219127,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49952,
+ "published_at_window_end": 49952,
+ "processed_at_window_end": 49952,
+ "achieved_publish_msg_per_sec": 4986.2026884429415,
+ "lag_at_window_end": 0,
+ "peak_lag": 1790,
+ "drain_secs": 3.75e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 117301,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 11515.889343604198,
+ "dispatch_p50_ms": 440.92825,
+ "dispatch_p95_ms": 973.131667,
+ "dispatch_p99_ms": 1153.0925,
+ "e2e_p50_ms": 440.928375,
+ "e2e_p95_ms": 973.13175,
+ "e2e_p99_ms": 1153.0925,
+ "scaling_efficiency": 1.6046586686736255,
+ "peak_rss_mb": 49.015625,
+ "cpu_pct": 0.005330833373152048,
+ "duration_secs": 10.186013125,
+ "setup_secs": 0.219686041,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 117301,
+ "published_at_window_end": 117301,
+ "processed_at_window_end": 117301,
+ "achieved_publish_msg_per_sec": 11515.889343604198,
+ "lag_at_window_end": 0,
+ "peak_lag": 10746,
+ "drain_secs": 2.5e-7,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 37003.17549989648,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.41344979198317,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 145.784785417,
+ "setup_secs": 0.272799708,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 174.538732084,
+ "producers": 8,
+ "unique_at_start": 5500,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4920.803297036531,
+ "dispatch_p50_ms": 129.283333,
+ "dispatch_p95_ms": 243.57875,
+ "dispatch_p99_ms": 256.738208,
+ "e2e_p50_ms": 129.328,
+ "e2e_p95_ms": 243.581708,
+ "e2e_p99_ms": 256.775084,
+ "scaling_efficiency": 0.9947847939125009,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.006848114705350887,
+ "duration_secs": 10.003854458,
+ "setup_secs": 0.464980666,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49227,
+ "achieved_publish_msg_per_sec": 4997.2738217939395,
+ "lag_at_window_end": 765,
+ "peak_lag": 1407,
+ "drain_secs": 0.2324705,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249920,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 24898.57791337666,
+ "dispatch_p50_ms": 42.104417,
+ "dispatch_p95_ms": 76.693541,
+ "dispatch_p99_ms": 83.260541,
+ "e2e_p50_ms": 42.136542,
+ "e2e_p95_ms": 76.702125,
+ "e2e_p99_ms": 83.279833,
+ "scaling_efficiency": 1.3938072557247343,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.003611168330587705,
+ "duration_secs": 10.0004105,
+ "setup_secs": 0.4662195,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249920,
+ "published_at_window_end": 249920,
+ "processed_at_window_end": 248996,
+ "achieved_publish_msg_per_sec": 24990.974120512354,
+ "lag_at_window_end": 924,
+ "peak_lag": 2388,
+ "drain_secs": 0.245523,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 346829,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 34180.98983369068,
+ "dispatch_p50_ms": 159.200709,
+ "dispatch_p95_ms": 252.082375,
+ "dispatch_p99_ms": 276.005667,
+ "e2e_p50_ms": 159.215834,
+ "e2e_p95_ms": 252.088625,
+ "e2e_p99_ms": 276.013208,
+ "scaling_efficiency": 0.9633147962710368,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.007144400526676258,
+ "duration_secs": 10.122468708,
+ "setup_secs": 0.4695995,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 346829,
+ "published_at_window_end": 346829,
+ "processed_at_window_end": 345996,
+ "achieved_publish_msg_per_sec": 34263.28201201489,
+ "lag_at_window_end": 833,
+ "peak_lag": 9833,
+ "drain_secs": 0.2352345,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 36817.77318495172,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.9996779232488535,
+ "peak_rss_mb": 0.0625,
+ "cpu_pct": 0.0,
+ "duration_secs": 76.814966125,
+ "setup_secs": 0.119507125,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 101.782809958,
+ "producers": 8,
+ "unique_at_start": 3000,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4907.683680055907,
+ "dispatch_p50_ms": 128.206208,
+ "dispatch_p95_ms": 240.751166,
+ "dispatch_p99_ms": 250.614291,
+ "e2e_p50_ms": 128.227833,
+ "e2e_p95_ms": 240.755333,
+ "e2e_p99_ms": 250.618541,
+ "scaling_efficiency": 0.9916429497591348,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.006280423535474948,
+ "duration_secs": 10.002070875,
+ "setup_secs": 0.468118958,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49087,
+ "achieved_publish_msg_per_sec": 4998.164942517466,
+ "lag_at_window_end": 905,
+ "peak_lag": 1069,
+ "drain_secs": 0.092747709,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249992,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 24888.229399254345,
+ "dispatch_p50_ms": 42.086375,
+ "dispatch_p95_ms": 77.493417,
+ "dispatch_p99_ms": 92.106958,
+ "e2e_p50_ms": 42.122875,
+ "e2e_p95_ms": 77.497667,
+ "e2e_p99_ms": 92.112542,
+ "scaling_efficiency": 1.2098481024330938,
+ "peak_rss_mb": 0.234375,
+ "cpu_pct": 0.0069448661030435946,
+ "duration_secs": 10.004568666,
+ "setup_secs": 0.469981,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249992,
+ "published_at_window_end": 249992,
+ "processed_at_window_end": 248996,
+ "achieved_publish_msg_per_sec": 24987.783916120705,
+ "lag_at_window_end": 996,
+ "peak_lag": 2090,
+ "drain_secs": 0.24754525,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 314910,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 30995.094260527527,
+ "dispatch_p50_ms": 171.834083,
+ "dispatch_p95_ms": 276.834542,
+ "dispatch_p99_ms": 298.641125,
+ "e2e_p50_ms": 171.861,
+ "e2e_p95_ms": 276.850292,
+ "e2e_p99_ms": 298.673125,
+ "scaling_efficiency": 1.0034952380348665,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.007593959927952575,
+ "duration_secs": 10.130506375,
+ "setup_secs": 0.469354333,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 314910,
+ "published_at_window_end": 314910,
+ "processed_at_window_end": 313996,
+ "achieved_publish_msg_per_sec": 31085.31679888509,
+ "lag_at_window_end": 914,
+ "peak_lag": 9414,
+ "drain_secs": 0.246108583,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 12721.336240050689,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 2.9892063108566367,
+ "peak_rss_mb": 0.515625,
+ "cpu_pct": 0.0,
+ "duration_secs": 3.320170083,
+ "setup_secs": 0.076216792,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 5.597178167,
+ "producers": 8,
+ "unique_at_start": 2000,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49952,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4853.997456684909,
+ "dispatch_p50_ms": 143.777084,
+ "dispatch_p95_ms": 254.343542,
+ "dispatch_p99_ms": 265.405625,
+ "e2e_p50_ms": 143.806209,
+ "e2e_p95_ms": 254.350375,
+ "e2e_p99_ms": 265.418,
+ "scaling_efficiency": 0.984932963201626,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.004304766276623398,
+ "duration_secs": 10.2908995,
+ "setup_secs": 0.468082625,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49952,
+ "published_at_window_end": 49952,
+ "processed_at_window_end": 49952,
+ "achieved_publish_msg_per_sec": 4853.997456684909,
+ "lag_at_window_end": 0,
+ "peak_lag": 2164,
+ "drain_secs": 6.25e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 113795,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 10905.512816442684,
+ "dispatch_p50_ms": 371.036167,
+ "dispatch_p95_ms": 907.355708,
+ "dispatch_p99_ms": 1533.451,
+ "e2e_p50_ms": 371.038834,
+ "e2e_p95_ms": 907.364583,
+ "e2e_p99_ms": 1533.468541,
+ "scaling_efficiency": 1.8831348068620453,
+ "peak_rss_mb": 133.25,
+ "cpu_pct": 0.003486421047466064,
+ "duration_secs": 10.352012042,
+ "setup_secs": 0.46786875,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 113795,
+ "published_at_window_end": 113795,
+ "processed_at_window_end": 112894,
+ "achieved_publish_msg_per_sec": 10992.54903668127,
+ "lag_at_window_end": 901,
+ "peak_lag": 9441,
+ "drain_secs": 0.059762958,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 28157.97773296219,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.483465056849215,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 191.767464667,
+ "setup_secs": 0.010813083,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 176.306224,
+ "producers": 8,
+ "unique_at_start": 216,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49990,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.524827733564,
+ "dispatch_p50_ms": 1.315,
+ "dispatch_p95_ms": 15.05425,
+ "dispatch_p99_ms": 28.876583,
+ "e2e_p50_ms": 1.315083,
+ "e2e_p95_ms": 15.054334,
+ "e2e_p99_ms": 28.876708,
+ "scaling_efficiency": 1.0001092730122343,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.006939310924819508,
+ "duration_secs": 10.000950625,
+ "setup_secs": 0.218830584,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49990,
+ "published_at_window_end": 49990,
+ "processed_at_window_end": 49990,
+ "achieved_publish_msg_per_sec": 4998.524827733564,
+ "lag_at_window_end": 0,
+ "peak_lag": 536,
+ "drain_secs": 3.75e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249960,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24984.703790798587,
+ "dispatch_p50_ms": 3.601167,
+ "dispatch_p95_ms": 140.609667,
+ "dispatch_p99_ms": 212.564166,
+ "e2e_p50_ms": 3.601291,
+ "e2e_p95_ms": 140.609708,
+ "e2e_p99_ms": 212.564291,
+ "scaling_efficiency": 1.1155385739230548,
+ "peak_rss_mb": 0.0625,
+ "cpu_pct": 0.007616548815760195,
+ "duration_secs": 10.00452125,
+ "setup_secs": 0.221292042,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249960,
+ "published_at_window_end": 249960,
+ "processed_at_window_end": 249960,
+ "achieved_publish_msg_per_sec": 24984.703790798587,
+ "lag_at_window_end": 0,
+ "peak_lag": 5655,
+ "drain_secs": 1.67e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 275333,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 27365.43744304747,
+ "dispatch_p50_ms": 185.906625,
+ "dispatch_p95_ms": 276.223833,
+ "dispatch_p99_ms": 295.2765,
+ "e2e_p50_ms": 185.906666,
+ "e2e_p95_ms": 276.223875,
+ "e2e_p99_ms": 295.276583,
+ "scaling_efficiency": 1.0087371736106592,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.006321218767340686,
+ "duration_secs": 10.061341083,
+ "setup_secs": 0.225306292,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 275333,
+ "published_at_window_end": 275333,
+ "processed_at_window_end": 275333,
+ "achieved_publish_msg_per_sec": 27365.43744304747,
+ "lag_at_window_end": 0,
+ "peak_lag": 7997,
+ "drain_secs": 2.09e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 10866.813206876452,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 0.5422984497201859,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 260.493020917,
+ "setup_secs": 0.269055625,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 111.4758415,
+ "producers": 8,
+ "unique_at_start": 427,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49984,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4989.481364429599,
+ "dispatch_p50_ms": 2.186334,
+ "dispatch_p95_ms": 14.526375,
+ "dispatch_p99_ms": 31.094208,
+ "e2e_p50_ms": 2.186417,
+ "e2e_p95_ms": 14.526459,
+ "e2e_p99_ms": 31.09425,
+ "scaling_efficiency": 0.9984240740217748,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.004442052392181601,
+ "duration_secs": 10.017874875,
+ "setup_secs": 0.218239541,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49984,
+ "published_at_window_end": 49984,
+ "processed_at_window_end": 49984,
+ "achieved_publish_msg_per_sec": 4989.481364429599,
+ "lag_at_window_end": 0,
+ "peak_lag": 473,
+ "drain_secs": 3.33e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 101932,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 9777.81866634931,
+ "dispatch_p50_ms": 546.407791,
+ "dispatch_p95_ms": 811.848709,
+ "dispatch_p99_ms": 923.730417,
+ "e2e_p50_ms": 546.407875,
+ "e2e_p95_ms": 811.84875,
+ "e2e_p99_ms": 923.7305,
+ "scaling_efficiency": 0.4909268458992118,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.003414921049178195,
+ "duration_secs": 10.424820042,
+ "setup_secs": 0.256348958,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 101932,
+ "published_at_window_end": 101932,
+ "processed_at_window_end": 101932,
+ "achieved_publish_msg_per_sec": 9777.81866634931,
+ "lag_at_window_end": 0,
+ "peak_lag": 8000,
+ "drain_secs": 5e-7,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 7188.526718401642,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 0.6997512145227842,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.006151728588858753,
+ "duration_secs": 5.958940083,
+ "setup_secs": 0.114777833,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 9.613438958,
+ "producers": 8,
+ "unique_at_start": 1401,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49885,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4931.089482506822,
+ "dispatch_p50_ms": 55.653416,
+ "dispatch_p95_ms": 184.1135,
+ "dispatch_p99_ms": 324.015541,
+ "e2e_p50_ms": 55.6535,
+ "e2e_p95_ms": 184.113583,
+ "e2e_p99_ms": 324.015583,
+ "scaling_efficiency": 0.987077765502774,
+ "peak_rss_mb": 22.21875,
+ "cpu_pct": 0.003894641545491763,
+ "duration_secs": 10.116425625,
+ "setup_secs": 0.225993917,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49885,
+ "published_at_window_end": 49885,
+ "processed_at_window_end": 49885,
+ "achieved_publish_msg_per_sec": 4931.089482506822,
+ "lag_at_window_end": 0,
+ "peak_lag": 1863,
+ "drain_secs": 5e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 59966,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 5900.9012488614035,
+ "dispatch_p50_ms": 900.93875,
+ "dispatch_p95_ms": 1397.645042,
+ "dispatch_p99_ms": 1526.337375,
+ "e2e_p50_ms": 900.938791,
+ "e2e_p95_ms": 1397.645125,
+ "e2e_p99_ms": 1526.337542,
+ "scaling_efficiency": 1.2001644317706066,
+ "peak_rss_mb": 320.453125,
+ "cpu_pct": 0.0035917313118590546,
+ "duration_secs": 10.1621765,
+ "setup_secs": 0.223900666,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 59966,
+ "published_at_window_end": 59966,
+ "processed_at_window_end": 59966,
+ "achieved_publish_msg_per_sec": 5900.9012488614035,
+ "lag_at_window_end": 0,
+ "peak_lag": 8000,
+ "drain_secs": 7.5e-7,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 30343.52092723076,
+ "dispatch_p50_ms": 249.512416,
+ "dispatch_p95_ms": 362.814,
+ "dispatch_p99_ms": 382.307458,
+ "e2e_p50_ms": 249.512458,
+ "e2e_p95_ms": 362.814167,
+ "e2e_p99_ms": 382.307542,
+ "scaling_efficiency": 1.4520244591050817,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.659119291,
+ "setup_secs": 0.213747167
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 32634.33087682433,
+ "dispatch_p50_ms": 258.689625,
+ "dispatch_p95_ms": 357.921375,
+ "dispatch_p99_ms": 375.771917,
+ "e2e_p50_ms": 258.689708,
+ "e2e_p95_ms": 357.921542,
+ "e2e_p99_ms": 375.772,
+ "scaling_efficiency": 1.761695272033761,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.612851542,
+ "setup_secs": 0.211503416
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 15571.136640422166,
+ "dispatch_p50_ms": 540.014,
+ "dispatch_p95_ms": 802.204875,
+ "dispatch_p99_ms": 844.080583,
+ "e2e_p50_ms": 540.014125,
+ "e2e_p95_ms": 802.205167,
+ "e2e_p99_ms": 844.080667,
+ "scaling_efficiency": 1.5336305712797005,
+ "peak_rss_mb": 2.5625,
+ "cpu_pct": 0.0,
+ "duration_secs": 1.28442775,
+ "setup_secs": 0.214779583
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 26077.59841862733,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.2621207125859322,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 204.205729167,
+ "setup_secs": 2.940799459,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 244.638980583,
+ "producers": 8,
+ "unique_at_start": 74805,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.659082604024,
+ "dispatch_p50_ms": 0.931334,
+ "dispatch_p95_ms": 3.036125,
+ "dispatch_p99_ms": 7.300667,
+ "e2e_p50_ms": 0.931459,
+ "e2e_p95_ms": 3.036209,
+ "e2e_p99_ms": 7.300708,
+ "scaling_efficiency": 1.0000251597773977,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.005439400713934083,
+ "duration_secs": 10.001082125,
+ "setup_secs": 0.224018291,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.659082604024,
+ "lag_at_window_end": 0,
+ "peak_lag": 281,
+ "drain_secs": 2.08e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249386,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24936.505956912268,
+ "dispatch_p50_ms": 6.391875,
+ "dispatch_p95_ms": 21.69875,
+ "dispatch_p99_ms": 38.941542,
+ "e2e_p50_ms": 6.391958,
+ "e2e_p95_ms": 21.698916,
+ "e2e_p99_ms": 38.941584,
+ "scaling_efficiency": 0.9978755914934416,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.004129648375316196,
+ "duration_secs": 10.00083975,
+ "setup_secs": 0.221641916,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249386,
+ "published_at_window_end": 249386,
+ "processed_at_window_end": 249386,
+ "achieved_publish_msg_per_sec": 24936.505956912268,
+ "lag_at_window_end": 0,
+ "peak_lag": 1507,
+ "drain_secs": 1.25e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 138717,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 13836.37602119814,
+ "dispatch_p50_ms": 267.325917,
+ "dispatch_p95_ms": 845.350167,
+ "dispatch_p99_ms": 948.545958,
+ "e2e_p50_ms": 267.326125,
+ "e2e_p95_ms": 845.350208,
+ "e2e_p99_ms": 948.546,
+ "scaling_efficiency": 0.55964452730527,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0045184489604141636,
+ "duration_secs": 10.025529791,
+ "setup_secs": 0.224201958,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 138717,
+ "published_at_window_end": 138717,
+ "processed_at_window_end": 138717,
+ "achieved_publish_msg_per_sec": 13836.37602119814,
+ "lag_at_window_end": 0,
+ "peak_lag": 7999,
+ "drain_secs": 6.67e-7,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 27835.362256509074,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.6507550322026177,
+ "peak_rss_mb": 0.0625,
+ "cpu_pct": 0.0,
+ "duration_secs": 93.469378125,
+ "setup_secs": 9.43035475,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 109.013251083,
+ "producers": 8,
+ "unique_at_start": 229402,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49640,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4958.597855566254,
+ "dispatch_p50_ms": 1.041166,
+ "dispatch_p95_ms": 30.043417,
+ "dispatch_p99_ms": 62.691875,
+ "e2e_p50_ms": 1.04125,
+ "e2e_p95_ms": 30.0435,
+ "e2e_p99_ms": 62.692,
+ "scaling_efficiency": 0.9964877870356804,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.006083358288142869,
+ "duration_secs": 10.0108945,
+ "setup_secs": 0.21823625,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49640,
+ "published_at_window_end": 49640,
+ "processed_at_window_end": 49640,
+ "achieved_publish_msg_per_sec": 4958.597855566254,
+ "lag_at_window_end": 0,
+ "peak_lag": 1121,
+ "drain_secs": 5e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249968,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24980.94116176522,
+ "dispatch_p50_ms": 4.023167,
+ "dispatch_p95_ms": 35.186583,
+ "dispatch_p99_ms": 55.949459,
+ "e2e_p50_ms": 4.023209,
+ "e2e_p95_ms": 35.186625,
+ "e2e_p99_ms": 55.9495,
+ "scaling_efficiency": 8.625554175586045,
+ "peak_rss_mb": 0.1875,
+ "cpu_pct": 0.0048169370895392565,
+ "duration_secs": 10.006348375,
+ "setup_secs": 0.232748291,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249968,
+ "published_at_window_end": 249968,
+ "processed_at_window_end": 249968,
+ "achieved_publish_msg_per_sec": 24980.94116176522,
+ "lag_at_window_end": 0,
+ "peak_lag": 1504,
+ "drain_secs": 1.25e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 226890,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 22478.213270424752,
+ "dispatch_p50_ms": 217.933208,
+ "dispatch_p95_ms": 321.593375,
+ "dispatch_p99_ms": 497.188666,
+ "e2e_p50_ms": 217.933291,
+ "e2e_p95_ms": 321.593375,
+ "e2e_p99_ms": 497.18875,
+ "scaling_efficiency": 0.9733017185415352,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0032693387683298335,
+ "duration_secs": 10.093773792,
+ "setup_secs": 0.23531125,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 226890,
+ "published_at_window_end": 226890,
+ "processed_at_window_end": 226890,
+ "achieved_publish_msg_per_sec": 22478.213270424752,
+ "lag_at_window_end": 0,
+ "peak_lag": 8000,
+ "drain_secs": 1.66e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49985,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4996.350320274702,
+ "dispatch_p50_ms": 3.931084,
+ "dispatch_p95_ms": 28.406417,
+ "dispatch_p99_ms": 58.104667,
+ "e2e_p50_ms": 3.931125,
+ "e2e_p95_ms": 28.406542,
+ "e2e_p99_ms": 58.104709,
+ "scaling_efficiency": 2.4868419500719448,
+ "peak_rss_mb": 2.21875,
+ "cpu_pct": 0.00426815454047915,
+ "duration_secs": 10.0043025,
+ "setup_secs": 0.219697083,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49985,
+ "published_at_window_end": 49985,
+ "processed_at_window_end": 49985,
+ "achieved_publish_msg_per_sec": 4996.350320274702,
+ "lag_at_window_end": 0,
+ "peak_lag": 673,
+ "drain_secs": 2.92e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 116847,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 11443.24094129621,
+ "dispatch_p50_ms": 360.172416,
+ "dispatch_p95_ms": 715.856916,
+ "dispatch_p99_ms": 885.428625,
+ "e2e_p50_ms": 360.1725,
+ "e2e_p95_ms": 715.856958,
+ "e2e_p99_ms": 885.429541,
+ "scaling_efficiency": 1.594535621720804,
+ "peak_rss_mb": 481.03125,
+ "cpu_pct": 0.004759565417259895,
+ "duration_secs": 10.211005833,
+ "setup_secs": 0.227308959,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 116847,
+ "published_at_window_end": 116847,
+ "processed_at_window_end": 116847,
+ "achieved_publish_msg_per_sec": 11443.24094129621,
+ "lag_at_window_end": 0,
+ "peak_lag": 8348,
+ "drain_secs": 1.67e-7,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 32796.43792914169,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.2527605466958898,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 161.709634792,
+ "setup_secs": 2.935446583,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 188.975334959,
+ "producers": 8,
+ "unique_at_start": 96500,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4855.913694747704,
+ "dispatch_p50_ms": 131.707125,
+ "dispatch_p95_ms": 246.640333,
+ "dispatch_p99_ms": 254.719084,
+ "e2e_p50_ms": 131.724875,
+ "e2e_p95_ms": 246.642708,
+ "e2e_p99_ms": 254.72075,
+ "scaling_efficiency": 0.9816667752185144,
+ "peak_rss_mb": 0.328125,
+ "cpu_pct": 0.0063240336309836175,
+ "duration_secs": 10.001825208,
+ "setup_secs": 0.466896916,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 48568,
+ "achieved_publish_msg_per_sec": 4998.287708528809,
+ "lag_at_window_end": 1424,
+ "peak_lag": 1424,
+ "drain_secs": 0.070825458,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249968,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 24840.585560161137,
+ "dispatch_p50_ms": 82.818625,
+ "dispatch_p95_ms": 152.549208,
+ "dispatch_p99_ms": 162.834041,
+ "e2e_p50_ms": 82.868667,
+ "e2e_p95_ms": 152.557375,
+ "e2e_p99_ms": 162.836208,
+ "scaling_efficiency": 1.3905608790453288,
+ "peak_rss_mb": 1.21875,
+ "cpu_pct": 0.004311693846357136,
+ "duration_secs": 10.003628916,
+ "setup_secs": 0.469728666,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249968,
+ "published_at_window_end": 249968,
+ "processed_at_window_end": 248496,
+ "achieved_publish_msg_per_sec": 24987.732161895397,
+ "lag_at_window_end": 1472,
+ "peak_lag": 3776,
+ "drain_secs": 0.224323709,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 310683,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 30508.083958149266,
+ "dispatch_p50_ms": 210.092791,
+ "dispatch_p95_ms": 331.910042,
+ "dispatch_p99_ms": 354.279834,
+ "e2e_p50_ms": 210.097416,
+ "e2e_p95_ms": 331.928417,
+ "e2e_p99_ms": 354.310167,
+ "scaling_efficiency": 0.8598021539387057,
+ "peak_rss_mb": 1.09375,
+ "cpu_pct": 0.007313977258025489,
+ "duration_secs": 10.144721,
+ "setup_secs": 0.484501458,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 310683,
+ "published_at_window_end": 310683,
+ "processed_at_window_end": 309496,
+ "achieved_publish_msg_per_sec": 30625.09062595215,
+ "lag_at_window_end": 1187,
+ "peak_lag": 10687,
+ "drain_secs": 0.246285292,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 30421.541763869176,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.6522804122566042,
+ "peak_rss_mb": 0.421875,
+ "cpu_pct": 0.0,
+ "duration_secs": 88.248518791,
+ "setup_secs": 4.968185917,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 103.375333833,
+ "producers": 8,
+ "unique_at_start": 146500,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4981.39900879106,
+ "dispatch_p50_ms": 130.263625,
+ "dispatch_p95_ms": 245.424375,
+ "dispatch_p99_ms": 253.267542,
+ "e2e_p50_ms": 130.281875,
+ "e2e_p95_ms": 245.429667,
+ "e2e_p99_ms": 253.270459,
+ "scaling_efficiency": 1.0065378147901587,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.006979419131105838,
+ "duration_secs": 10.002009458,
+ "setup_secs": 0.467386209,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49824,
+ "achieved_publish_msg_per_sec": 4998.195633579854,
+ "lag_at_window_end": 168,
+ "peak_lag": 1480,
+ "drain_secs": 0.256670625,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249952,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 24888.04323712284,
+ "dispatch_p50_ms": 83.774958,
+ "dispatch_p95_ms": 153.71175,
+ "dispatch_p99_ms": 171.160667,
+ "e2e_p50_ms": 83.842375,
+ "e2e_p95_ms": 153.719583,
+ "e2e_p99_ms": 171.17125,
+ "scaling_efficiency": 1.2098390528579743,
+ "peak_rss_mb": 0.640625,
+ "cpu_pct": 0.006964352527320162,
+ "duration_secs": 10.0046435,
+ "setup_secs": 0.470875292,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249952,
+ "published_at_window_end": 249952,
+ "processed_at_window_end": 248996,
+ "achieved_publish_msg_per_sec": 24983.598865866636,
+ "lag_at_window_end": 956,
+ "peak_lag": 4323,
+ "drain_secs": 0.247508208,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 291105,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 28465.02564500628,
+ "dispatch_p50_ms": 225.291584,
+ "dispatch_p95_ms": 364.524708,
+ "dispatch_p99_ms": 423.688708,
+ "e2e_p50_ms": 225.362958,
+ "e2e_p95_ms": 364.533167,
+ "e2e_p99_ms": 423.707416,
+ "scaling_efficiency": 0.9215818943864698,
+ "peak_rss_mb": 0.140625,
+ "cpu_pct": 0.005287343519513651,
+ "duration_secs": 10.135104166,
+ "setup_secs": 0.468796333,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 291105,
+ "published_at_window_end": 291105,
+ "processed_at_window_end": 288496,
+ "achieved_publish_msg_per_sec": 28722.447764924134,
+ "lag_at_window_end": 2609,
+ "peak_lag": 11109,
+ "drain_secs": 0.210307459,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49171,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4884.649049048609,
+ "dispatch_p50_ms": 134.593834,
+ "dispatch_p95_ms": 245.007958,
+ "dispatch_p99_ms": 256.592042,
+ "e2e_p50_ms": 134.599708,
+ "e2e_p95_ms": 245.0105,
+ "e2e_p99_ms": 256.594625,
+ "scaling_efficiency": 0.9911525304681994,
+ "peak_rss_mb": 2.609375,
+ "cpu_pct": 0.007878916626287783,
+ "duration_secs": 10.043505584,
+ "setup_secs": 0.465987083,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49171,
+ "published_at_window_end": 49171,
+ "processed_at_window_end": 49059,
+ "achieved_publish_msg_per_sec": 4895.800533862679,
+ "lag_at_window_end": 112,
+ "peak_lag": 2264,
+ "drain_secs": 0.249617791,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 133119,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 13120.743585071845,
+ "dispatch_p50_ms": 362.939792,
+ "dispatch_p95_ms": 689.781209,
+ "dispatch_p99_ms": 837.638542,
+ "e2e_p50_ms": 362.941917,
+ "e2e_p95_ms": 689.787917,
+ "e2e_p99_ms": 837.649958,
+ "scaling_efficiency": 2.2656549355209816,
+ "peak_rss_mb": 909.359375,
+ "cpu_pct": 0.004648968434261287,
+ "duration_secs": 10.065816708,
+ "setup_secs": 0.492351,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 133119,
+ "published_at_window_end": 133119,
+ "processed_at_window_end": 132071,
+ "achieved_publish_msg_per_sec": 13224.858336055448,
+ "lag_at_window_end": 1048,
+ "peak_lag": 8970,
+ "drain_secs": 0.172975,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 27546.48510694803,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.4512493930747856,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 195.818086375,
+ "setup_secs": 0.207195959,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 182.387310708,
+ "producers": 8,
+ "unique_at_start": 5900,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.328916228124,
+ "dispatch_p50_ms": 0.685208,
+ "dispatch_p95_ms": 1.486,
+ "dispatch_p99_ms": 3.393875,
+ "e2e_p50_ms": 0.685333,
+ "e2e_p95_ms": 1.486042,
+ "e2e_p99_ms": 3.393958,
+ "scaling_efficiency": 1.0000700748647744,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.008638465485510782,
+ "duration_secs": 10.00174275,
+ "setup_secs": 0.22475575,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.328916228124,
+ "lag_at_window_end": 0,
+ "peak_lag": 18,
+ "drain_secs": 5.42e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249949,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24976.542865407497,
+ "dispatch_p50_ms": 3.788167,
+ "dispatch_p95_ms": 8.780458,
+ "dispatch_p99_ms": 15.215584,
+ "e2e_p50_ms": 3.78825,
+ "e2e_p95_ms": 8.7805,
+ "e2e_p99_ms": 15.215625,
+ "scaling_efficiency": 1.1151741978972711,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0061454749604864835,
+ "duration_secs": 10.00734975,
+ "setup_secs": 0.230496083,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249949,
+ "published_at_window_end": 249949,
+ "processed_at_window_end": 249949,
+ "achieved_publish_msg_per_sec": 24976.542865407497,
+ "lag_at_window_end": 0,
+ "peak_lag": 664,
+ "drain_secs": 2.5e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 259395,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 25764.9344096201,
+ "dispatch_p50_ms": 201.791333,
+ "dispatch_p95_ms": 293.689666,
+ "dispatch_p99_ms": 309.311375,
+ "e2e_p50_ms": 201.791375,
+ "e2e_p95_ms": 293.68975,
+ "e2e_p99_ms": 309.311416,
+ "scaling_efficiency": 0.9497398742013272,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.003118865786878871,
+ "duration_secs": 10.067753167,
+ "setup_secs": 0.221049625,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 259395,
+ "published_at_window_end": 259395,
+ "processed_at_window_end": 259395,
+ "achieved_publish_msg_per_sec": 25764.9344096201,
+ "lag_at_window_end": 0,
+ "peak_lag": 7972,
+ "drain_secs": 2.08e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 27942.14635186056,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.3944274517279651,
+ "peak_rss_mb": 0.109375,
+ "cpu_pct": 0.0,
+ "duration_secs": 101.000723583,
+ "setup_secs": 0.618317542,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 102.476759292,
+ "producers": 8,
+ "unique_at_start": 8979,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.411146754091,
+ "dispatch_p50_ms": 0.858875,
+ "dispatch_p95_ms": 3.422958,
+ "dispatch_p99_ms": 10.841458,
+ "e2e_p50_ms": 0.859,
+ "e2e_p95_ms": 3.423042,
+ "e2e_p99_ms": 10.8415,
+ "scaling_efficiency": 1.0002109751037405,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.00648895836062651,
+ "duration_secs": 10.001578208,
+ "setup_secs": 0.227245666,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.411146754091,
+ "lag_at_window_end": 0,
+ "peak_lag": 376,
+ "drain_secs": 1.67e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249882,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24983.672646220595,
+ "dispatch_p50_ms": 3.82125,
+ "dispatch_p95_ms": 16.118041,
+ "dispatch_p99_ms": 31.731125,
+ "e2e_p50_ms": 3.821291,
+ "e2e_p95_ms": 16.118125,
+ "e2e_p99_ms": 31.731166,
+ "scaling_efficiency": 1.2543856692084538,
+ "peak_rss_mb": 0.078125,
+ "cpu_pct": 0.005229044086640968,
+ "duration_secs": 10.001812125,
+ "setup_secs": 0.222615708,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249882,
+ "published_at_window_end": 249882,
+ "processed_at_window_end": 249882,
+ "achieved_publish_msg_per_sec": 24983.672646220595,
+ "lag_at_window_end": 0,
+ "peak_lag": 1072,
+ "drain_secs": 1.25e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 243105,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 23762.40575403757,
+ "dispatch_p50_ms": 215.353833,
+ "dispatch_p95_ms": 314.76425,
+ "dispatch_p99_ms": 329.752625,
+ "e2e_p50_ms": 215.353916,
+ "e2e_p95_ms": 314.764291,
+ "e2e_p99_ms": 329.752667,
+ "scaling_efficiency": 0.9397493387021644,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0028737131010182354,
+ "duration_secs": 10.230656042,
+ "setup_secs": 0.223593083,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 243105,
+ "published_at_window_end": 243105,
+ "processed_at_window_end": 243105,
+ "achieved_publish_msg_per_sec": 23762.40575403757,
+ "lag_at_window_end": 0,
+ "peak_lag": 7978,
+ "drain_secs": 2.91e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49974,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4991.008452188522,
+ "dispatch_p50_ms": 4.703333,
+ "dispatch_p95_ms": 56.119333,
+ "dispatch_p99_ms": 86.996625,
+ "e2e_p50_ms": 4.703416,
+ "e2e_p95_ms": 56.119375,
+ "e2e_p99_ms": 86.996625,
+ "scaling_efficiency": 0.9990720079342812,
+ "peak_rss_mb": 0.515625,
+ "cpu_pct": 0.005512922532912282,
+ "duration_secs": 10.012806125,
+ "setup_secs": 0.221972042,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49974,
+ "published_at_window_end": 49974,
+ "processed_at_window_end": 49974,
+ "achieved_publish_msg_per_sec": 4991.008452188522,
+ "lag_at_window_end": 0,
+ "peak_lag": 1125,
+ "drain_secs": 5.42e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 126152,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 11951.048324549798,
+ "dispatch_p50_ms": 325.930625,
+ "dispatch_p95_ms": 657.077583,
+ "dispatch_p99_ms": 1128.144792,
+ "e2e_p50_ms": 325.93075,
+ "e2e_p95_ms": 657.07775,
+ "e2e_p99_ms": 1128.144875,
+ "scaling_efficiency": 2.4306834696249044,
+ "peak_rss_mb": 25.234375,
+ "cpu_pct": 0.0062809427834485095,
+ "duration_secs": 10.555726709,
+ "setup_secs": 0.232992,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 126152,
+ "published_at_window_end": 126152,
+ "processed_at_window_end": 126152,
+ "achieved_publish_msg_per_sec": 11951.048324549798,
+ "lag_at_window_end": 0,
+ "peak_lag": 8000,
+ "drain_secs": 2.91e-7,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 84701.02693134372,
+ "dispatch_p50_ms": 155.607166,
+ "dispatch_p95_ms": 219.795333,
+ "dispatch_p99_ms": 233.747583,
+ "e2e_p50_ms": 155.607291,
+ "e2e_p95_ms": 219.795416,
+ "e2e_p99_ms": 233.747625,
+ "scaling_efficiency": 4.053186942628598,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.472249292,
+ "setup_secs": 0.214548375
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 77515.23623495917,
+ "dispatch_p50_ms": 191.1385,
+ "dispatch_p95_ms": 261.163125,
+ "dispatch_p99_ms": 275.911458,
+ "e2e_p50_ms": 191.138666,
+ "e2e_p95_ms": 261.163167,
+ "e2e_p99_ms": 275.911625,
+ "scaling_efficiency": 4.184495943892209,
+ "peak_rss_mb": 0.53125,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.516027583,
+ "setup_secs": 0.216345208
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 26561.941784192193,
+ "dispatch_p50_ms": 665.289584,
+ "dispatch_p95_ms": 1050.675584,
+ "dispatch_p99_ms": 1096.38475,
+ "e2e_p50_ms": 665.289625,
+ "e2e_p95_ms": 1050.675625,
+ "e2e_p99_ms": 1096.384792,
+ "scaling_efficiency": 2.616135667773857,
+ "peak_rss_mb": 0.515625,
+ "cpu_pct": 0.0,
+ "duration_secs": 1.505914,
+ "setup_secs": 0.218620417
+ }
+ ],
+ "failures": [
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "method": "drain",
+ "error": "45500 of 49152 messages were already consumed when the last worker was assigned; the window left is not a steady state. Raise --drain-messages so the group assembles within the first half of the corpus"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "method": "drain",
+ "error": "41350 of 49152 messages were already consumed when the last worker was assigned; the window left is not a steady state. Raise --drain-messages so the group assembles within the first half of the corpus"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "method": "drain",
+ "error": "46300 of 49152 messages were already consumed when the last worker was assigned; the window left is not a steady state. Raise --drain-messages so the group assembles within the first half of the corpus"
+ }
+ ],
+ "unsupported": []
+ },
+ {
+ "backend": "redis",
+ "broker": {
+ "name": "Redis Streams",
+ "version": "7.0",
+ "deployment": "docker single-node"
+ },
+ "representative": true,
+ "results": [
+ {
+ "flow": "publish_single",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "no_handler",
+ "throughput_msg_per_sec": 9723.216488630522,
+ "dispatch_p50_ms": 0.100084,
+ "dispatch_p95_ms": 0.142917,
+ "dispatch_p99_ms": 0.181917,
+ "e2e_p50_ms": 0.100084,
+ "e2e_p95_ms": 0.142917,
+ "e2e_p99_ms": 0.181917,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.21875,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.514233125,
+ "setup_secs": 0.0
+ },
+ {
+ "flow": "publish_single",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "no_handler",
+ "throughput_msg_per_sec": 10185.09370795466,
+ "dispatch_p50_ms": 0.09225,
+ "dispatch_p95_ms": 0.135709,
+ "dispatch_p99_ms": 0.17825,
+ "e2e_p50_ms": 0.09225,
+ "e2e_p95_ms": 0.135709,
+ "e2e_p99_ms": 0.17825,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.984375,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.4909135,
+ "setup_secs": 0.0
+ },
+ {
+ "flow": "publish_single",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "no_handler",
+ "throughput_msg_per_sec": 4884.80708980901,
+ "dispatch_p50_ms": 0.194625,
+ "dispatch_p95_ms": 0.24825,
+ "dispatch_p99_ms": 0.335375,
+ "e2e_p50_ms": 0.194625,
+ "e2e_p95_ms": 0.24825,
+ "e2e_p99_ms": 0.335375,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 127.125,
+ "cpu_pct": 0.0,
+ "duration_secs": 1.023581875,
+ "setup_secs": 0.0
+ },
+ {
+ "flow": "publish_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "no_handler",
+ "throughput_msg_per_sec": 9971.059001248876,
+ "dispatch_p50_ms": 100.422417,
+ "dispatch_p95_ms": 103.457917,
+ "dispatch_p99_ms": 103.457917,
+ "e2e_p50_ms": 100.422417,
+ "e2e_p95_ms": 103.457917,
+ "e2e_p99_ms": 103.457917,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.50145125,
+ "setup_secs": 0.0
+ },
+ {
+ "flow": "publish_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "no_handler",
+ "throughput_msg_per_sec": 9414.837265714717,
+ "dispatch_p50_ms": 107.307,
+ "dispatch_p95_ms": 107.719083,
+ "dispatch_p99_ms": 107.719083,
+ "e2e_p50_ms": 107.307,
+ "e2e_p95_ms": 107.719083,
+ "e2e_p99_ms": 107.719083,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.531076625,
+ "setup_secs": 0.0
+ },
+ {
+ "flow": "publish_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "no_handler",
+ "throughput_msg_per_sec": 5173.0697882994855,
+ "dispatch_p50_ms": 190.957125,
+ "dispatch_p95_ms": 202.320833,
+ "dispatch_p99_ms": 202.320833,
+ "e2e_p50_ms": 190.957125,
+ "e2e_p95_ms": 202.320833,
+ "e2e_p99_ms": 202.320833,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.966544084,
+ "setup_secs": 0.0
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 11460.587016468948,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.21875,
+ "cpu_pct": 0.0,
+ "duration_secs": 471.179704167,
+ "setup_secs": 0.00363875,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 90.11067975,
+ "producers": 8,
+ "unique_at_start": 4,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.342019232577,
+ "dispatch_p50_ms": 1.053708,
+ "dispatch_p95_ms": 2.299875,
+ "dispatch_p99_ms": 4.29475,
+ "e2e_p50_ms": 1.053833,
+ "e2e_p95_ms": 2.299917,
+ "e2e_p99_ms": 4.294791,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 1.078125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000116,
+ "setup_secs": 0.001251125,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49984,
+ "achieved_publish_msg_per_sec": 4999.142009952684,
+ "lag_at_window_end": 8,
+ "peak_lag": 74,
+ "drain_secs": 0.011118541,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249982,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 9418.5229195659,
+ "dispatch_p50_ms": 7753.297125,
+ "dispatch_p95_ms": 13220.728125,
+ "dispatch_p99_ms": 13693.745458,
+ "e2e_p50_ms": 7753.297166,
+ "e2e_p95_ms": 13220.728208,
+ "e2e_p99_ms": 13693.7455,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 3.953125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000612708,
+ "setup_secs": 0.001318875,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249982,
+ "published_at_window_end": 249982,
+ "processed_at_window_end": 94191,
+ "achieved_publish_msg_per_sec": 24996.668434127707,
+ "lag_at_window_end": 155791,
+ "peak_lag": 155797,
+ "drain_secs": 13.818432,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 11132.813044172515,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 254.305986166,
+ "setup_secs": 0.002741791,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 53.416085333,
+ "producers": 8,
+ "unique_at_start": 15,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4995.543359667129,
+ "dispatch_p50_ms": 1.076166,
+ "dispatch_p95_ms": 2.230667,
+ "dispatch_p99_ms": 3.067334,
+ "e2e_p50_ms": 1.076208,
+ "e2e_p95_ms": 2.230708,
+ "e2e_p99_ms": 3.067417,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000713917,
+ "setup_secs": 0.000996458,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49959,
+ "achieved_publish_msg_per_sec": 4998.843124091338,
+ "lag_at_window_end": 33,
+ "peak_lag": 40,
+ "drain_secs": 0.022120416,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249992,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 8917.264477401086,
+ "dispatch_p50_ms": 8120.435166,
+ "dispatch_p95_ms": 13711.768583,
+ "dispatch_p99_ms": 14193.630042,
+ "e2e_p50_ms": 8120.435208,
+ "e2e_p95_ms": 13711.768625,
+ "e2e_p99_ms": 14193.630125,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.078125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.00194625,
+ "setup_secs": 0.001293875,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249992,
+ "published_at_window_end": 249992,
+ "processed_at_window_end": 89190,
+ "achieved_publish_msg_per_sec": 24994.335477457702,
+ "lag_at_window_end": 160802,
+ "peak_lag": 160822,
+ "drain_secs": 14.322936541,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 7057.072628979898,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.078125,
+ "cpu_pct": 0.0,
+ "duration_secs": 6.268038084,
+ "setup_secs": 0.005920833,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 2.752153833,
+ "producers": 8,
+ "unique_at_start": 3,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.2481461186735,
+ "dispatch_p50_ms": 1.353542,
+ "dispatch_p95_ms": 2.602709,
+ "dispatch_p99_ms": 3.434083,
+ "e2e_p50_ms": 1.353625,
+ "e2e_p95_ms": 2.60275,
+ "e2e_p99_ms": 3.434125,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001904375,
+ "setup_secs": 0.001773625,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.2481461186735,
+ "lag_at_window_end": 0,
+ "peak_lag": 40,
+ "drain_secs": 1.25e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4948.96379041563,
+ "dispatch_p50_ms": 50.382708,
+ "dispatch_p95_ms": 96.053625,
+ "dispatch_p99_ms": 101.658167,
+ "e2e_p50_ms": 50.403583,
+ "e2e_p95_ms": 96.059292,
+ "e2e_p99_ms": 101.662542,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.65625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.002093791,
+ "setup_secs": 0.301880208,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49500,
+ "achieved_publish_msg_per_sec": 4998.153491120367,
+ "lag_at_window_end": 492,
+ "peak_lag": 512,
+ "drain_secs": 0.201003292,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 110921,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 7660.00428135447,
+ "dispatch_p50_ms": 10.704333,
+ "dispatch_p95_ms": 19.926916,
+ "dispatch_p99_ms": 28.780125,
+ "e2e_p50_ms": 10.723791,
+ "e2e_p95_ms": 19.930083,
+ "e2e_p99_ms": 28.804042,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.0,
+ "duration_secs": 14.476362666,
+ "setup_secs": 0.2945375,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 110921,
+ "published_at_window_end": 110921,
+ "processed_at_window_end": 110889,
+ "achieved_publish_msg_per_sec": 7662.214781377044,
+ "lag_at_window_end": 32,
+ "peak_lag": 804,
+ "drain_secs": 0.307974334,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 99321.27332351418,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.265625,
+ "cpu_pct": 0.0,
+ "duration_secs": 28.499997083,
+ "setup_secs": 0.003064416,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 60.847094958,
+ "producers": 8,
+ "unique_at_start": 500,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4949.11790238417,
+ "dispatch_p50_ms": 50.909084,
+ "dispatch_p95_ms": 96.877167,
+ "dispatch_p99_ms": 104.85325,
+ "e2e_p50_ms": 50.929459,
+ "e2e_p95_ms": 96.885,
+ "e2e_p99_ms": 104.857875,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.109375,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001782333,
+ "setup_secs": 0.340941333,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49500,
+ "achieved_publish_msg_per_sec": 4998.309134868473,
+ "lag_at_window_end": 492,
+ "peak_lag": 500,
+ "drain_secs": 0.2109975,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249992,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 24943.80759500055,
+ "dispatch_p50_ms": 10.601667,
+ "dispatch_p95_ms": 19.689042,
+ "dispatch_p99_ms": 21.123875,
+ "e2e_p50_ms": 10.61725,
+ "e2e_p95_ms": 19.692208,
+ "e2e_p99_ms": 21.125916,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.002482542,
+ "setup_secs": 0.290715583,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249992,
+ "published_at_window_end": 249992,
+ "processed_at_window_end": 249500,
+ "achieved_publish_msg_per_sec": 24992.99538392536,
+ "lag_at_window_end": 492,
+ "peak_lag": 563,
+ "drain_secs": 0.249648625,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 535075,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 52993.15163805856,
+ "dispatch_p50_ms": 79.284459,
+ "dispatch_p95_ms": 147.280792,
+ "dispatch_p99_ms": 156.220041,
+ "e2e_p50_ms": 79.299167,
+ "e2e_p95_ms": 147.293542,
+ "e2e_p99_ms": 156.228208,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 5.640625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.095644125,
+ "setup_secs": 0.271979291,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 535075,
+ "published_at_window_end": 535075,
+ "processed_at_window_end": 535000,
+ "achieved_publish_msg_per_sec": 53000.580584549876,
+ "lag_at_window_end": 75,
+ "peak_lag": 8075,
+ "drain_secs": 0.328403917,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 16746.95522878324,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 2.611638916,
+ "setup_secs": 0.030844334,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 2.773461458,
+ "producers": 8,
+ "unique_at_start": 500,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49986,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4949.748965066663,
+ "dispatch_p50_ms": 51.826458,
+ "dispatch_p95_ms": 97.294459,
+ "dispatch_p99_ms": 121.276583,
+ "e2e_p50_ms": 51.841334,
+ "e2e_p95_ms": 97.296959,
+ "e2e_p99_ms": 121.278875,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 36.65625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000507167,
+ "setup_secs": 0.269913958,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49986,
+ "published_at_window_end": 49986,
+ "processed_at_window_end": 49500,
+ "achieved_publish_msg_per_sec": 4998.346500360045,
+ "lag_at_window_end": 486,
+ "peak_lag": 508,
+ "drain_secs": 0.162974625,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 133742,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 11365.764731153342,
+ "dispatch_p50_ms": 1061.83475,
+ "dispatch_p95_ms": 1549.517916,
+ "dispatch_p99_ms": 1695.234125,
+ "e2e_p50_ms": 1061.8455,
+ "e2e_p95_ms": 1549.530625,
+ "e2e_p99_ms": 1695.244375,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 166.21875,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.470039,
+ "setup_secs": 0.260100375,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 133742,
+ "published_at_window_end": 133742,
+ "processed_at_window_end": 119000,
+ "achieved_publish_msg_per_sec": 12773.782409024456,
+ "lag_at_window_end": 14742,
+ "peak_lag": 21242,
+ "drain_secs": 1.218299,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 211195.80049064616,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 2.96875,
+ "cpu_pct": 0.0,
+ "duration_secs": 25.56679625,
+ "setup_secs": 0.004473833,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 89.909912542,
+ "producers": 8,
+ "unique_at_start": 400,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.327729332135,
+ "dispatch_p50_ms": 0.8205,
+ "dispatch_p95_ms": 1.692083,
+ "dispatch_p99_ms": 3.025042,
+ "e2e_p50_ms": 0.820625,
+ "e2e_p95_ms": 1.692167,
+ "e2e_p99_ms": 3.025083,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001745125,
+ "setup_secs": 0.002622583,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.327729332135,
+ "lag_at_window_end": 0,
+ "peak_lag": 24,
+ "drain_secs": 7.91e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249979,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24992.63405200524,
+ "dispatch_p50_ms": 0.482458,
+ "dispatch_p95_ms": 1.263042,
+ "dispatch_p99_ms": 1.69525,
+ "e2e_p50_ms": 0.4825,
+ "e2e_p95_ms": 1.263167,
+ "e2e_p99_ms": 1.695291,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.21875,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.002107,
+ "setup_secs": 0.004209791,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249979,
+ "published_at_window_end": 249979,
+ "processed_at_window_end": 249979,
+ "achieved_publish_msg_per_sec": 24992.63405200524,
+ "lag_at_window_end": 0,
+ "peak_lag": 112,
+ "drain_secs": 8.3e-8,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 519047,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 51422.329257269535,
+ "dispatch_p50_ms": 76.480125,
+ "dispatch_p95_ms": 147.517333,
+ "dispatch_p99_ms": 154.754542,
+ "e2e_p50_ms": 76.480208,
+ "e2e_p95_ms": 147.517417,
+ "e2e_p99_ms": 154.754583,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.171875,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.09378625,
+ "setup_secs": 0.001746542,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 519047,
+ "published_at_window_end": 519047,
+ "processed_at_window_end": 519046,
+ "achieved_publish_msg_per_sec": 51422.42832812117,
+ "lag_at_window_end": 1,
+ "peak_lag": 7291,
+ "drain_secs": 0.01119925,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 171979.11971691428,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 16.461044833,
+ "setup_secs": 0.003838709,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 52.448058208,
+ "producers": 8,
+ "unique_at_start": 200,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.356027584742,
+ "dispatch_p50_ms": 0.894,
+ "dispatch_p95_ms": 1.92875,
+ "dispatch_p99_ms": 3.564709,
+ "e2e_p50_ms": 0.894083,
+ "e2e_p95_ms": 1.928875,
+ "e2e_p99_ms": 3.56475,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.0016885,
+ "setup_secs": 0.002032542,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.356027584742,
+ "lag_at_window_end": 0,
+ "peak_lag": 39,
+ "drain_secs": 4.58e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249988,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24997.58643105177,
+ "dispatch_p50_ms": 0.50375,
+ "dispatch_p95_ms": 1.288125,
+ "dispatch_p99_ms": 1.847625,
+ "e2e_p50_ms": 0.503833,
+ "e2e_p95_ms": 1.288292,
+ "e2e_p99_ms": 1.847708,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000325459,
+ "setup_secs": 0.004158083,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249988,
+ "published_at_window_end": 249988,
+ "processed_at_window_end": 249984,
+ "achieved_publish_msg_per_sec": 24997.986418033834,
+ "lag_at_window_end": 4,
+ "peak_lag": 93,
+ "drain_secs": 0.012431416,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 488907,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 48144.65365816152,
+ "dispatch_p50_ms": 81.898334,
+ "dispatch_p95_ms": 157.639792,
+ "dispatch_p99_ms": 166.029625,
+ "e2e_p50_ms": 81.898459,
+ "e2e_p95_ms": 157.639875,
+ "e2e_p99_ms": 166.02975,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.09375,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.154959333,
+ "setup_secs": 0.00158575,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 488907,
+ "published_at_window_end": 488907,
+ "processed_at_window_end": 488907,
+ "achieved_publish_msg_per_sec": 48144.65365816152,
+ "lag_at_window_end": 0,
+ "peak_lag": 7537,
+ "drain_secs": 2.92e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 14276.233074999916,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 3.098296292,
+ "setup_secs": 0.007075541,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 2.6904042500000003,
+ "producers": 8,
+ "unique_at_start": 5,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.288062343026,
+ "dispatch_p50_ms": 1.212792,
+ "dispatch_p95_ms": 2.569541,
+ "dispatch_p99_ms": 4.265625,
+ "e2e_p50_ms": 1.212875,
+ "e2e_p95_ms": 2.569583,
+ "e2e_p99_ms": 4.265666,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.0018245,
+ "setup_secs": 0.004020458,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.288062343026,
+ "lag_at_window_end": 0,
+ "peak_lag": 19,
+ "drain_secs": 2.92e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 139091,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 11273.9482678498,
+ "dispatch_p50_ms": 1148.418167,
+ "dispatch_p95_ms": 2023.502166,
+ "dispatch_p99_ms": 2121.007458,
+ "e2e_p50_ms": 1148.41825,
+ "e2e_p95_ms": 2023.502291,
+ "e2e_p99_ms": 2121.0075,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 12.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.417911916,
+ "setup_secs": 0.00394025,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 139091,
+ "published_at_window_end": 139091,
+ "processed_at_window_end": 117451,
+ "achieved_publish_msg_per_sec": 13351.13995218003,
+ "lag_at_window_end": 21640,
+ "peak_lag": 27537,
+ "drain_secs": 1.485132375,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 8077.523756385088,
+ "dispatch_p50_ms": 62.046084,
+ "dispatch_p95_ms": 118.028875,
+ "dispatch_p99_ms": 126.27175,
+ "e2e_p50_ms": 62.046125,
+ "e2e_p95_ms": 118.028916,
+ "e2e_p99_ms": 126.271875,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.619001584,
+ "setup_secs": 0.002206333
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 8260.238824155003,
+ "dispatch_p50_ms": 59.625709,
+ "dispatch_p95_ms": 115.682833,
+ "dispatch_p99_ms": 122.117542,
+ "e2e_p50_ms": 59.62575,
+ "e2e_p95_ms": 115.682875,
+ "e2e_p99_ms": 122.117583,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.605309375,
+ "setup_secs": 0.000825958
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4534.321068311944,
+ "dispatch_p50_ms": 108.698209,
+ "dispatch_p95_ms": 207.410083,
+ "dispatch_p99_ms": 215.742666,
+ "e2e_p50_ms": 108.69825,
+ "e2e_p95_ms": 207.41025,
+ "e2e_p99_ms": 215.74275,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 1.102700917,
+ "setup_secs": 0.000849792
+ },
+ {
+ "flow": "dlq_drain",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 9873.97273927648,
+ "dispatch_p50_ms": 257.797709,
+ "dispatch_p95_ms": 474.659042,
+ "dispatch_p99_ms": 493.739542,
+ "e2e_p50_ms": 257.79775,
+ "e2e_p95_ms": 474.659125,
+ "e2e_p99_ms": 493.739584,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0625,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.506381791,
+ "setup_secs": null
+ },
+ {
+ "flow": "dlq_drain",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 9274.88343590832,
+ "dispatch_p50_ms": 278.295125,
+ "dispatch_p95_ms": 507.833875,
+ "dispatch_p99_ms": 527.556917,
+ "e2e_p50_ms": 278.295167,
+ "e2e_p95_ms": 507.833917,
+ "e2e_p99_ms": 527.557,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.539090333,
+ "setup_secs": null
+ },
+ {
+ "flow": "dlq_drain",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 5681.926874496597,
+ "dispatch_p50_ms": 469.122292,
+ "dispatch_p95_ms": 832.331125,
+ "dispatch_p99_ms": 862.795459,
+ "e2e_p50_ms": 469.122334,
+ "e2e_p95_ms": 832.331209,
+ "e2e_p99_ms": 862.7955,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.879983166,
+ "setup_secs": null
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 19717.843714720057,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.7204916019035823,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.0,
+ "duration_secs": 273.86331275,
+ "setup_secs": 0.001628375,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 88.875370542,
+ "producers": 8,
+ "unique_at_start": 6,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.195983103356,
+ "dispatch_p50_ms": 1.030666,
+ "dispatch_p95_ms": 2.364375,
+ "dispatch_p99_ms": 2.8985,
+ "e2e_p50_ms": 1.030708,
+ "e2e_p95_ms": 2.364458,
+ "e2e_p99_ms": 2.898625,
+ "scaling_efficiency": 0.9999707830859397,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001408542,
+ "setup_secs": 0.002046041,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49989,
+ "achieved_publish_msg_per_sec": 4998.495940853048,
+ "lag_at_window_end": 3,
+ "peak_lag": 27,
+ "drain_secs": 0.0124095,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249989,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 17213.42056937987,
+ "dispatch_p50_ms": 2249.742958,
+ "dispatch_p95_ms": 3819.881917,
+ "dispatch_p99_ms": 3920.721708,
+ "e2e_p50_ms": 2249.743042,
+ "e2e_p95_ms": 3819.881958,
+ "e2e_p99_ms": 3920.721792,
+ "scaling_efficiency": 1.8276135989031745,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000162333,
+ "setup_secs": 0.002073166,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249989,
+ "published_at_window_end": 249989,
+ "processed_at_window_end": 172137,
+ "achieved_publish_msg_per_sec": 24998.49419194423,
+ "lag_at_window_end": 77852,
+ "peak_lag": 77853,
+ "drain_secs": 3.949931084,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 19289.288017459996,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.7326517512621842,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 146.773172625,
+ "setup_secs": 0.002827584,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 52.228538667,
+ "producers": 8,
+ "unique_at_start": 6,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49987,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.188539365318,
+ "dispatch_p50_ms": 1.03825,
+ "dispatch_p95_ms": 2.348917,
+ "dispatch_p99_ms": 3.024792,
+ "e2e_p50_ms": 1.038333,
+ "e2e_p95_ms": 2.348959,
+ "e2e_p99_ms": 3.024959,
+ "scaling_efficiency": 1.000529507904895,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001023292,
+ "setup_secs": 0.002039708,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49987,
+ "published_at_window_end": 49987,
+ "processed_at_window_end": 49987,
+ "achieved_publish_msg_per_sec": 4998.188539365318,
+ "lag_at_window_end": 0,
+ "peak_lag": 16,
+ "drain_secs": 3.75e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249975,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 16037.02777371997,
+ "dispatch_p50_ms": 2804.998709,
+ "dispatch_p95_ms": 4467.811458,
+ "dispatch_p99_ms": 4573.546833,
+ "e2e_p50_ms": 2804.99875,
+ "e2e_p95_ms": 4467.811583,
+ "e2e_p99_ms": 4573.546916,
+ "scaling_efficiency": 1.798424596955985,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001105084,
+ "setup_secs": 0.002290166,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249975,
+ "published_at_window_end": 249975,
+ "processed_at_window_end": 160388,
+ "achieved_publish_msg_per_sec": 24994.7378715094,
+ "lag_at_window_end": 89587,
+ "peak_lag": 89609,
+ "drain_secs": 4.610175875,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 10715.16669081916,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.5183585679446296,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 4.127420625,
+ "setup_secs": 0.009694792,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 2.760231875,
+ "producers": 8,
+ "unique_at_start": 11,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.375414009251,
+ "dispatch_p50_ms": 1.226458,
+ "dispatch_p95_ms": 2.169958,
+ "dispatch_p99_ms": 2.642042,
+ "e2e_p50_ms": 1.2265,
+ "e2e_p95_ms": 2.170041,
+ "e2e_p99_ms": 2.642084,
+ "scaling_efficiency": 1.0000254624994311,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001649708,
+ "setup_secs": 0.00356125,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.375414009251,
+ "lag_at_window_end": 0,
+ "peak_lag": 19,
+ "drain_secs": 2.08e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 143230,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 6803.456365956803,
+ "dispatch_p50_ms": 5782.222625,
+ "dispatch_p95_ms": 17901.673583,
+ "dispatch_p99_ms": 18118.056,
+ "e2e_p50_ms": 5782.222667,
+ "e2e_p95_ms": 17901.673625,
+ "e2e_p99_ms": 18118.056041,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.376784417,
+ "setup_secs": 0.002760958,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 143230,
+ "published_at_window_end": 143230,
+ "processed_at_window_end": 70598,
+ "achieved_publish_msg_per_sec": 13802.927211762271,
+ "lag_at_window_end": 72632,
+ "peak_lag": 74965,
+ "drain_secs": 17.592653708,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 310848.51529098884,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.5625,
+ "cpu_pct": 0.0,
+ "duration_secs": 17.366980167,
+ "setup_secs": 0.005572458,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 89.887577792,
+ "producers": 8,
+ "unique_at_start": 1500,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4949.967639586556,
+ "dispatch_p50_ms": 98.702541,
+ "dispatch_p95_ms": 191.2715,
+ "dispatch_p99_ms": 211.232291,
+ "e2e_p50_ms": 98.737917,
+ "e2e_p95_ms": 191.286334,
+ "e2e_p99_ms": 211.243208,
+ "scaling_efficiency": 1.0002028402739318,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000065375,
+ "setup_secs": 0.362576584,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49500,
+ "achieved_publish_msg_per_sec": 4999.167317943658,
+ "lag_at_window_end": 492,
+ "peak_lag": 944,
+ "drain_secs": 0.315620917,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249962,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 24946.603208140674,
+ "dispatch_p50_ms": 20.092791,
+ "dispatch_p95_ms": 38.345041,
+ "dispatch_p99_ms": 42.010209,
+ "e2e_p50_ms": 20.106208,
+ "e2e_p95_ms": 38.349667,
+ "e2e_p99_ms": 42.013917,
+ "scaling_efficiency": 3.2567348909796596,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001361625,
+ "setup_secs": 0.279305792,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249962,
+ "published_at_window_end": 249962,
+ "processed_at_window_end": 249500,
+ "achieved_publish_msg_per_sec": 24992.796918289616,
+ "lag_at_window_end": 462,
+ "peak_lag": 985,
+ "drain_secs": 0.257687625,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 519114,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 51169.221856070806,
+ "dispatch_p50_ms": 86.61125,
+ "dispatch_p95_ms": 157.489333,
+ "dispatch_p99_ms": 168.992458,
+ "e2e_p50_ms": 86.617625,
+ "e2e_p95_ms": 157.4985,
+ "e2e_p99_ms": 169.00225,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.133044459,
+ "setup_secs": 0.263857792,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 519114,
+ "published_at_window_end": 519114,
+ "processed_at_window_end": 518500,
+ "achieved_publish_msg_per_sec": 51229.81568870268,
+ "lag_at_window_end": 614,
+ "peak_lag": 8114,
+ "drain_secs": 0.294808916,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 399745.94212632626,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 4.0247766540835,
+ "peak_rss_mb": 0.078125,
+ "cpu_pct": 0.0,
+ "duration_secs": 7.078635958,
+ "setup_secs": 0.00669375,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 52.621602625,
+ "producers": 8,
+ "unique_at_start": 1500,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4949.949057104284,
+ "dispatch_p50_ms": 100.98525,
+ "dispatch_p95_ms": 193.634542,
+ "dispatch_p99_ms": 215.752041,
+ "e2e_p50_ms": 101.026875,
+ "e2e_p95_ms": 193.645625,
+ "e2e_p99_ms": 215.758375,
+ "scaling_efficiency": 1.000167939971629,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000102916,
+ "setup_secs": 0.355801458,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49500,
+ "achieved_publish_msg_per_sec": 4999.148550762775,
+ "lag_at_window_end": 492,
+ "peak_lag": 968,
+ "drain_secs": 0.2919245,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249980,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 24946.506865376177,
+ "dispatch_p50_ms": 19.817708,
+ "dispatch_p95_ms": 38.363625,
+ "dispatch_p99_ms": 42.616792,
+ "e2e_p50_ms": 19.833208,
+ "e2e_p95_ms": 38.366625,
+ "e2e_p99_ms": 42.618167,
+ "scaling_efficiency": 1.000108214047328,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.00140025,
+ "setup_secs": 0.294051666,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249980,
+ "published_at_window_end": 249980,
+ "processed_at_window_end": 249500,
+ "achieved_publish_msg_per_sec": 24994.50014511718,
+ "lag_at_window_end": 480,
+ "peak_lag": 958,
+ "drain_secs": 0.269800084,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 477046,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 47325.82343363474,
+ "dispatch_p50_ms": 92.896,
+ "dispatch_p95_ms": 171.020584,
+ "dispatch_p99_ms": 182.476417,
+ "e2e_p50_ms": 92.908292,
+ "e2e_p95_ms": 171.033084,
+ "e2e_p99_ms": 182.480083,
+ "scaling_efficiency": 0.8930554603898352,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.068498875,
+ "setup_secs": 0.326071542,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 477046,
+ "published_at_window_end": 477046,
+ "processed_at_window_end": 476500,
+ "achieved_publish_msg_per_sec": 47380.05197423236,
+ "lag_at_window_end": 546,
+ "peak_lag": 8546,
+ "drain_secs": 0.259973583,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 21142.783832914523,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.262485242486115,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.0,
+ "duration_secs": 2.045000334,
+ "setup_secs": 0.082022208,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 2.829620959,
+ "producers": 8,
+ "unique_at_start": 1000,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4949.396503751289,
+ "dispatch_p50_ms": 101.5155,
+ "dispatch_p95_ms": 191.47425,
+ "dispatch_p99_ms": 204.697375,
+ "e2e_p50_ms": 101.537792,
+ "e2e_p95_ms": 191.479291,
+ "e2e_p99_ms": 204.700125,
+ "scaling_efficiency": 0.9999287920826164,
+ "peak_rss_mb": 56.8125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001219333,
+ "setup_secs": 0.259061083,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49500,
+ "achieved_publish_msg_per_sec": 4998.590505364332,
+ "lag_at_window_end": 492,
+ "peak_lag": 972,
+ "drain_secs": 0.246429042,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 142513,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 13612.498244094373,
+ "dispatch_p50_ms": 308.312709,
+ "dispatch_p95_ms": 594.589584,
+ "dispatch_p99_ms": 648.637458,
+ "e2e_p50_ms": 308.3235,
+ "e2e_p95_ms": 594.596209,
+ "e2e_p99_ms": 648.6405,
+ "scaling_efficiency": 1.197675525236131,
+ "peak_rss_mb": 49.921875,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.431589959,
+ "setup_secs": 0.269010167,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 142513,
+ "published_at_window_end": 142513,
+ "processed_at_window_end": 142000,
+ "achieved_publish_msg_per_sec": 13661.675790567757,
+ "lag_at_window_end": 513,
+ "peak_lag": 8013,
+ "drain_secs": 0.296171416,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 323377.19713996747,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.5311724778082878,
+ "peak_rss_mb": 6.515625,
+ "cpu_pct": 0.0,
+ "duration_secs": 16.698533625,
+ "setup_secs": 0.002504875,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 89.471795833,
+ "producers": 8,
+ "unique_at_start": 75,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.38232713106,
+ "dispatch_p50_ms": 0.83475,
+ "dispatch_p95_ms": 1.768916,
+ "dispatch_p99_ms": 2.78375,
+ "e2e_p50_ms": 0.834792,
+ "e2e_p95_ms": 1.769041,
+ "e2e_p99_ms": 2.783792,
+ "scaling_efficiency": 1.0000109232130987,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001635875,
+ "setup_secs": 0.003308042,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.38232713106,
+ "lag_at_window_end": 0,
+ "peak_lag": 16,
+ "drain_secs": 3.75e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249988,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24994.74616460643,
+ "dispatch_p50_ms": 0.39575,
+ "dispatch_p95_ms": 1.12725,
+ "dispatch_p99_ms": 1.677292,
+ "e2e_p50_ms": 0.395834,
+ "e2e_p95_ms": 1.127417,
+ "e2e_p99_ms": 1.677375,
+ "scaling_efficiency": 1.0000845094037225,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001621875,
+ "setup_secs": 0.006479125,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249988,
+ "published_at_window_end": 249988,
+ "processed_at_window_end": 249988,
+ "achieved_publish_msg_per_sec": 24994.74616460643,
+ "lag_at_window_end": 0,
+ "peak_lag": 47,
+ "drain_secs": 1.25e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 436341,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 43216.67981343499,
+ "dispatch_p50_ms": 91.211708,
+ "dispatch_p95_ms": 175.366416,
+ "dispatch_p99_ms": 183.17675,
+ "e2e_p50_ms": 91.211833,
+ "e2e_p95_ms": 175.366459,
+ "e2e_p99_ms": 183.176833,
+ "scaling_efficiency": 0.8404263369171571,
+ "peak_rss_mb": 0.0625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.09658775,
+ "setup_secs": 0.002190708,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 436341,
+ "published_at_window_end": 436341,
+ "processed_at_window_end": 436341,
+ "achieved_publish_msg_per_sec": 43216.67981343499,
+ "lag_at_window_end": 0,
+ "peak_lag": 7317,
+ "drain_secs": 1.25e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 277696.0688858723,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.614708049110689,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.192488541,
+ "setup_secs": 0.006102042,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 52.662037292,
+ "producers": 8,
+ "unique_at_start": 742,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.4495038004925,
+ "dispatch_p50_ms": 0.855042,
+ "dispatch_p95_ms": 2.003375,
+ "dispatch_p99_ms": 3.682958,
+ "e2e_p50_ms": 0.855166,
+ "e2e_p95_ms": 2.003459,
+ "e2e_p99_ms": 3.683083,
+ "scaling_efficiency": 1.0000187013920645,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001501458,
+ "setup_secs": 0.003917042,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.4495038004925,
+ "lag_at_window_end": 0,
+ "peak_lag": 42,
+ "drain_secs": 6.67e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249984,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24994.86978707845,
+ "dispatch_p50_ms": 0.409292,
+ "dispatch_p95_ms": 1.108791,
+ "dispatch_p99_ms": 1.526875,
+ "e2e_p50_ms": 0.409375,
+ "e2e_p95_ms": 1.108875,
+ "e2e_p99_ms": 1.526958,
+ "scaling_efficiency": 0.9998913237491621,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001412375,
+ "setup_secs": 0.005196958,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249984,
+ "published_at_window_end": 249984,
+ "processed_at_window_end": 249984,
+ "achieved_publish_msg_per_sec": 24994.86978707845,
+ "lag_at_window_end": 0,
+ "peak_lag": 58,
+ "drain_secs": 2.08e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 414205,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 40696.944778167315,
+ "dispatch_p50_ms": 96.66425,
+ "dispatch_p95_ms": 186.10675,
+ "dispatch_p99_ms": 195.690375,
+ "e2e_p50_ms": 96.664375,
+ "e2e_p95_ms": 186.106792,
+ "e2e_p99_ms": 195.690458,
+ "scaling_efficiency": 0.8453055881786021,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.177791042,
+ "setup_secs": 0.002297417,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 414205,
+ "published_at_window_end": 414205,
+ "processed_at_window_end": 414205,
+ "achieved_publish_msg_per_sec": 40696.944778167315,
+ "lag_at_window_end": 0,
+ "peak_lag": 7412,
+ "drain_secs": 2.91e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 23631.277057968524,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.65528798344928,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 1.8635048749999998,
+ "setup_secs": 0.015030708,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 2.756105167,
+ "producers": 8,
+ "unique_at_start": 200,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49990,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.307005226784,
+ "dispatch_p50_ms": 1.0855,
+ "dispatch_p95_ms": 2.130375,
+ "dispatch_p99_ms": 3.270875,
+ "e2e_p50_ms": 1.085583,
+ "e2e_p95_ms": 2.1305,
+ "e2e_p99_ms": 3.270959,
+ "scaling_efficiency": 1.0000037898743575,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001386459,
+ "setup_secs": 0.003665875,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49990,
+ "published_at_window_end": 49990,
+ "processed_at_window_end": 49990,
+ "achieved_publish_msg_per_sec": 4998.307005226784,
+ "lag_at_window_end": 0,
+ "peak_lag": 30,
+ "drain_secs": 3.33e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 133009,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 12650.856350821867,
+ "dispatch_p50_ms": 289.466667,
+ "dispatch_p95_ms": 601.823917,
+ "dispatch_p99_ms": 653.18875,
+ "e2e_p50_ms": 289.466792,
+ "e2e_p95_ms": 601.823959,
+ "e2e_p99_ms": 653.188917,
+ "scaling_efficiency": 1.1221318432778895,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.513754667,
+ "setup_secs": 0.004047916,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 133009,
+ "published_at_window_end": 133009,
+ "processed_at_window_end": 133008,
+ "achieved_publish_msg_per_sec": 12650.951464321437,
+ "lag_at_window_end": 1,
+ "peak_lag": 5661,
+ "drain_secs": 0.011472708,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 14804.865396939724,
+ "dispatch_p50_ms": 67.503042,
+ "dispatch_p95_ms": 128.630041,
+ "dispatch_p99_ms": 137.57725,
+ "e2e_p50_ms": 67.503084,
+ "e2e_p95_ms": 128.630083,
+ "e2e_p99_ms": 137.577375,
+ "scaling_efficiency": 1.8328470263224956,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.675453625,
+ "setup_secs": 0.001869458
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "setup_bound",
+ "throughput_msg_per_sec": 15416.894020245156,
+ "dispatch_p50_ms": 64.675666,
+ "dispatch_p95_ms": 123.118334,
+ "dispatch_p99_ms": 129.376083,
+ "e2e_p50_ms": 64.675708,
+ "e2e_p95_ms": 123.118375,
+ "e2e_p99_ms": 129.376167,
+ "scaling_efficiency": 1.8663980967671665,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 0.648639083,
+ "setup_secs": 0.001497375
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 2,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 7198.967520622688,
+ "dispatch_p50_ms": 137.509542,
+ "dispatch_p95_ms": 260.363417,
+ "dispatch_p99_ms": 280.861041,
+ "e2e_p50_ms": 137.509584,
+ "e2e_p95_ms": 260.363459,
+ "e2e_p99_ms": 280.861083,
+ "scaling_efficiency": 1.5876616172887708,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 1.389088084,
+ "setup_secs": 0.001504916
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 33331.45669905881,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 2.908355100062611,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 162.007680875,
+ "setup_secs": 0.003851292,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 89.347759542,
+ "producers": 8,
+ "unique_at_start": 48,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.703920911677,
+ "dispatch_p50_ms": 0.857791,
+ "dispatch_p95_ms": 2.31625,
+ "dispatch_p99_ms": 2.915166,
+ "e2e_p50_ms": 0.857875,
+ "e2e_p95_ms": 2.316292,
+ "e2e_p99_ms": 2.915333,
+ "scaling_efficiency": 1.0000724043448224,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000192208,
+ "setup_secs": 0.00330275,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49988,
+ "achieved_publish_msg_per_sec": 4999.103913223505,
+ "lag_at_window_end": 4,
+ "peak_lag": 44,
+ "drain_secs": 0.011285709,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249977,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24991.77299360285,
+ "dispatch_p50_ms": 1.824459,
+ "dispatch_p95_ms": 153.444625,
+ "dispatch_p99_ms": 174.182417,
+ "e2e_p50_ms": 1.8245,
+ "e2e_p95_ms": 153.444708,
+ "e2e_p99_ms": 174.182542,
+ "scaling_efficiency": 2.6534705289812814,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.002371583,
+ "setup_secs": 0.005831208,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249977,
+ "published_at_window_end": 249977,
+ "processed_at_window_end": 249977,
+ "achieved_publish_msg_per_sec": 24991.77299360285,
+ "lag_at_window_end": 0,
+ "peak_lag": 4563,
+ "drain_secs": 1.25e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 488052,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 26163.418061904984,
+ "dispatch_p50_ms": 4295.469792,
+ "dispatch_p95_ms": 6554.837459,
+ "dispatch_p99_ms": 6759.312834,
+ "e2e_p50_ms": 4295.469875,
+ "e2e_p95_ms": 6554.8375,
+ "e2e_p99_ms": 6759.312875,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.109375,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.170842333,
+ "setup_secs": 0.00285125,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 488052,
+ "published_at_window_end": 488052,
+ "processed_at_window_end": 266104,
+ "achieved_publish_msg_per_sec": 47985.4061267356,
+ "lag_at_window_end": 221948,
+ "peak_lag": 226050,
+ "drain_secs": 6.689298208,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 31929.895724312126,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 2.868088738903764,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 88.66608975,
+ "setup_secs": 0.0044335,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 52.913569166,
+ "producers": 8,
+ "unique_at_start": 57,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.600126496439,
+ "dispatch_p50_ms": 0.881833,
+ "dispatch_p95_ms": 2.476292,
+ "dispatch_p99_ms": 4.026125,
+ "e2e_p50_ms": 0.881958,
+ "e2e_p95_ms": 2.476417,
+ "e2e_p99_ms": 4.026292,
+ "scaling_efficiency": 1.000611898768408,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001200083,
+ "setup_secs": 0.003031083,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.600126496439,
+ "lag_at_window_end": 0,
+ "peak_lag": 51,
+ "drain_secs": 3.75e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249986,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24992.983982651174,
+ "dispatch_p50_ms": 2.303459,
+ "dispatch_p95_ms": 11.165708,
+ "dispatch_p99_ms": 18.741084,
+ "e2e_p50_ms": 2.303541,
+ "e2e_p95_ms": 11.16575,
+ "e2e_p99_ms": 18.741125,
+ "scaling_efficiency": 2.8027635656641774,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000926667,
+ "setup_secs": 0.004510583,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249986,
+ "published_at_window_end": 249986,
+ "processed_at_window_end": 249953,
+ "achieved_publish_msg_per_sec": 24996.2836768794,
+ "lag_at_window_end": 33,
+ "peak_lag": 455,
+ "drain_secs": 0.011656583,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 444016,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24575.499733110802,
+ "dispatch_p50_ms": 4115.454333,
+ "dispatch_p95_ms": 5927.411875,
+ "dispatch_p99_ms": 6094.547917,
+ "e2e_p50_ms": 4115.454375,
+ "e2e_p95_ms": 5927.411959,
+ "e2e_p99_ms": 6094.548042,
+ "scaling_efficiency": 1.0,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.07206375,
+ "setup_secs": 0.002911833,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 444016,
+ "published_at_window_end": 444016,
+ "processed_at_window_end": 247526,
+ "achieved_publish_msg_per_sec": 44083.9147786371,
+ "lag_at_window_end": 196490,
+ "peak_lag": 200894,
+ "drain_secs": 6.006095833,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 17256.88000318454,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 2.4453312174114648,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 2.5564296669999997,
+ "setup_secs": 0.020806833,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 2.765067,
+ "producers": 8,
+ "unique_at_start": 121,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49989,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.5117610928555,
+ "dispatch_p50_ms": 1.021166,
+ "dispatch_p95_ms": 2.417083,
+ "dispatch_p99_ms": 4.2475,
+ "e2e_p50_ms": 1.021208,
+ "e2e_p95_ms": 2.417125,
+ "e2e_p99_ms": 4.247542,
+ "scaling_efficiency": 1.0000527414739075,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000776709,
+ "setup_secs": 0.005609125,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49989,
+ "published_at_window_end": 49989,
+ "processed_at_window_end": 49989,
+ "achieved_publish_msg_per_sec": 4998.5117610928555,
+ "lag_at_window_end": 0,
+ "peak_lag": 47,
+ "drain_secs": 4.16e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 119516,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 11449.5120311904,
+ "dispatch_p50_ms": 334.282791,
+ "dispatch_p95_ms": 659.972208,
+ "dispatch_p99_ms": 707.586458,
+ "e2e_p50_ms": 334.282833,
+ "e2e_p95_ms": 659.97225,
+ "e2e_p99_ms": 707.5865,
+ "scaling_efficiency": 1.6828963713916902,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.438436125,
+ "setup_secs": 0.005889708,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 119516,
+ "published_at_window_end": 119516,
+ "processed_at_window_end": 119515,
+ "achieved_publish_msg_per_sec": 11449.607830981482,
+ "lag_at_window_end": 1,
+ "peak_lag": 5971,
+ "drain_secs": 0.012149708,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 846124.77813795,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 2.7219842994774575,
+ "peak_rss_mb": 0.84375,
+ "cpu_pct": 0.0,
+ "duration_secs": 6.371991625,
+ "setup_secs": 0.013562542,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 89.347980208,
+ "producers": 8,
+ "unique_at_start": 8500,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4960.843660044317,
+ "dispatch_p50_ms": 128.40125,
+ "dispatch_p95_ms": 242.538791,
+ "dispatch_p99_ms": 251.674958,
+ "e2e_p50_ms": 128.438667,
+ "e2e_p95_ms": 242.545625,
+ "e2e_p99_ms": 251.689875,
+ "scaling_efficiency": 1.0024004761666865,
+ "peak_rss_mb": 0.15625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001323041,
+ "setup_secs": 0.284352708,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49615,
+ "achieved_publish_msg_per_sec": 4998.538672839575,
+ "lag_at_window_end": 377,
+ "peak_lag": 1235,
+ "drain_secs": 0.19688025,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249984,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 24897.48255329533,
+ "dispatch_p50_ms": 40.185959,
+ "dispatch_p95_ms": 76.850083,
+ "dispatch_p99_ms": 84.010209,
+ "e2e_p50_ms": 40.20175,
+ "e2e_p95_ms": 76.853458,
+ "e2e_p99_ms": 84.011625,
+ "scaling_efficiency": 3.250322276437797,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001011125,
+ "setup_secs": 0.300558875,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249984,
+ "published_at_window_end": 249984,
+ "processed_at_window_end": 249000,
+ "achieved_publish_msg_per_sec": 24995.872604831246,
+ "lag_at_window_end": 984,
+ "peak_lag": 1704,
+ "drain_secs": 0.320427458,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 430362,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 42589.13691924115,
+ "dispatch_p50_ms": 117.012417,
+ "dispatch_p95_ms": 204.848083,
+ "dispatch_p99_ms": 232.775417,
+ "e2e_p50_ms": 117.019542,
+ "e2e_p95_ms": 204.861709,
+ "e2e_p99_ms": 232.787208,
+ "scaling_efficiency": 0.8323194173058995,
+ "peak_rss_mb": 0.109375,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.08473125,
+ "setup_secs": 0.280018791,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 430362,
+ "published_at_window_end": 430362,
+ "processed_at_window_end": 429500,
+ "achieved_publish_msg_per_sec": 42674.61267249932,
+ "lag_at_window_end": 862,
+ "peak_lag": 8862,
+ "drain_secs": 0.250770333,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 595711.2003118515,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 5.997820812984056,
+ "peak_rss_mb": 0.96875,
+ "cpu_pct": 0.0,
+ "duration_secs": 4.74585,
+ "setup_secs": 0.011529875,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 52.522271917,
+ "producers": 8,
+ "unique_at_start": 4000,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4967.42530915985,
+ "dispatch_p50_ms": 128.413625,
+ "dispatch_p95_ms": 244.0965,
+ "dispatch_p99_ms": 253.549125,
+ "e2e_p50_ms": 128.460333,
+ "e2e_p95_ms": 244.103916,
+ "e2e_p99_ms": 253.568375,
+ "scaling_efficiency": 1.003699125205092,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001559542,
+ "setup_secs": 0.323046667,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49682,
+ "achieved_publish_msg_per_sec": 4998.420475333505,
+ "lag_at_window_end": 310,
+ "peak_lag": 1288,
+ "drain_secs": 0.2744525,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249969,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 24848.185978061218,
+ "dispatch_p50_ms": 40.227208,
+ "dispatch_p95_ms": 76.807666,
+ "dispatch_p99_ms": 83.983791,
+ "e2e_p50_ms": 40.241458,
+ "e2e_p95_ms": 76.81025,
+ "e2e_p99_ms": 83.986375,
+ "scaling_efficiency": 0.9961665188213487,
+ "peak_rss_mb": 0.046875,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000730042,
+ "setup_secs": 0.296730167,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249969,
+ "published_at_window_end": 249969,
+ "processed_at_window_end": 248500,
+ "achieved_publish_msg_per_sec": 24995.075254527103,
+ "lag_at_window_end": 1469,
+ "peak_lag": 1806,
+ "drain_secs": 0.235106666,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 416715,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 40969.46289408484,
+ "dispatch_p50_ms": 119.657084,
+ "dispatch_p95_ms": 212.861083,
+ "dispatch_p99_ms": 231.019042,
+ "e2e_p50_ms": 119.668667,
+ "e2e_p95_ms": 212.874166,
+ "e2e_p99_ms": 231.023292,
+ "scaling_efficiency": 0.7731086306001367,
+ "peak_rss_mb": 2.21875,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.153904167,
+ "setup_secs": 0.260006458,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 416715,
+ "published_at_window_end": 416715,
+ "processed_at_window_end": 416000,
+ "achieved_publish_msg_per_sec": 41039.87915843405,
+ "lag_at_window_end": 715,
+ "peak_lag": 7215,
+ "drain_secs": 0.273279125,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 29865.215159370237,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.7833220875900144,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 1.4142540000000001,
+ "setup_secs": 0.072730625,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 2.717324833,
+ "producers": 8,
+ "unique_at_start": 2000,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49984,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4934.725413382903,
+ "dispatch_p50_ms": 128.899708,
+ "dispatch_p95_ms": 241.488208,
+ "dispatch_p99_ms": 251.464666,
+ "e2e_p50_ms": 128.924042,
+ "e2e_p95_ms": 241.49425,
+ "e2e_p99_ms": 251.467333,
+ "scaling_efficiency": 0.9969647851255103,
+ "peak_rss_mb": 44.46875,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000759083,
+ "setup_secs": 0.267486792,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49984,
+ "published_at_window_end": 49984,
+ "processed_at_window_end": 49351,
+ "achieved_publish_msg_per_sec": 4998.020608752225,
+ "lag_at_window_end": 633,
+ "peak_lag": 1279,
+ "drain_secs": 0.140365417,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 125703,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 11949.95311450351,
+ "dispatch_p50_ms": 386.1225,
+ "dispatch_p95_ms": 742.868459,
+ "dispatch_p99_ms": 821.389708,
+ "e2e_p50_ms": 386.137917,
+ "e2e_p95_ms": 742.891042,
+ "e2e_p99_ms": 821.423708,
+ "scaling_efficiency": 1.0513989508993549,
+ "peak_rss_mb": 98.8125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.37660975,
+ "setup_secs": 0.259521125,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 125703,
+ "published_at_window_end": 125703,
+ "processed_at_window_end": 124000,
+ "achieved_publish_msg_per_sec": 12114.072228648669,
+ "lag_at_window_end": 1703,
+ "peak_lag": 7703,
+ "drain_secs": 0.153322083,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 385528.51594716404,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.825455407027561,
+ "peak_rss_mb": 0.125,
+ "cpu_pct": 0.0,
+ "duration_secs": 14.001654292,
+ "setup_secs": 0.008018958,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 89.268944209,
+ "producers": 8,
+ "unique_at_start": 1963,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.271904378498,
+ "dispatch_p50_ms": 0.8295,
+ "dispatch_p95_ms": 1.939,
+ "dispatch_p99_ms": 3.563625,
+ "e2e_p50_ms": 0.829625,
+ "e2e_p95_ms": 1.939083,
+ "e2e_p99_ms": 3.563708,
+ "scaling_efficiency": 0.999988831273846,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001856833,
+ "setup_secs": 0.004514417,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.271904378498,
+ "lag_at_window_end": 0,
+ "peak_lag": 32,
+ "drain_secs": 7.09e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249977,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24993.88197707878,
+ "dispatch_p50_ms": 0.421333,
+ "dispatch_p95_ms": 1.244542,
+ "dispatch_p99_ms": 6.280542,
+ "e2e_p50_ms": 0.421417,
+ "e2e_p95_ms": 1.244667,
+ "e2e_p99_ms": 6.280667,
+ "scaling_efficiency": 1.0000499317147182,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001527583,
+ "setup_secs": 0.009350667,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249977,
+ "published_at_window_end": 249977,
+ "processed_at_window_end": 249977,
+ "achieved_publish_msg_per_sec": 24993.88197707878,
+ "lag_at_window_end": 0,
+ "peak_lag": 457,
+ "drain_secs": 1.67e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 359932,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 35432.4995901381,
+ "dispatch_p50_ms": 110.924167,
+ "dispatch_p95_ms": 213.982625,
+ "dispatch_p99_ms": 223.842,
+ "e2e_p50_ms": 110.924209,
+ "e2e_p95_ms": 213.982666,
+ "e2e_p99_ms": 223.842084,
+ "scaling_efficiency": 0.6890489035000108,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.158244667,
+ "setup_secs": 0.003316375,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 359932,
+ "published_at_window_end": 359932,
+ "processed_at_window_end": 359932,
+ "achieved_publish_msg_per_sec": 35432.4995901381,
+ "lag_at_window_end": 0,
+ "peak_lag": 7600,
+ "drain_secs": 1.67e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 325053.12451347464,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.890073196377138,
+ "peak_rss_mb": 1.890625,
+ "cpu_pct": 0.0,
+ "duration_secs": 8.70490325,
+ "setup_secs": 0.008338834,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 52.592428167,
+ "producers": 8,
+ "unique_at_start": 1600,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49984,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.221604973942,
+ "dispatch_p50_ms": 0.830459,
+ "dispatch_p95_ms": 1.988375,
+ "dispatch_p99_ms": 3.82875,
+ "e2e_p50_ms": 0.830583,
+ "e2e_p95_ms": 1.988459,
+ "e2e_p99_ms": 3.828792,
+ "scaling_efficiency": 0.99997310663545,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000356917,
+ "setup_secs": 0.004172291,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49984,
+ "published_at_window_end": 49984,
+ "processed_at_window_end": 49984,
+ "achieved_publish_msg_per_sec": 4998.221604973942,
+ "lag_at_window_end": 0,
+ "peak_lag": 56,
+ "drain_secs": 4.17e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 84913,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 7246.136340292603,
+ "dispatch_p50_ms": 1.019791,
+ "dispatch_p95_ms": 1859.309041,
+ "dispatch_p99_ms": 2153.256458,
+ "e2e_p50_ms": 1.019833,
+ "e2e_p95_ms": 1859.309125,
+ "e2e_p99_ms": 2153.2565,
+ "scaling_efficiency": 0.2898734387929356,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 11.718382875,
+ "setup_secs": 0.009811917,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 84913,
+ "published_at_window_end": 84913,
+ "processed_at_window_end": 84913,
+ "achieved_publish_msg_per_sec": 7246.136340292603,
+ "lag_at_window_end": 0,
+ "peak_lag": 6522,
+ "drain_secs": 1.66e-7,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 13246.319681468536,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 0.927858183029042,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 3.309372041,
+ "setup_secs": 0.086255333,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 11.983012958,
+ "producers": 8,
+ "unique_at_start": 400,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 39344,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 3341.0239975486015,
+ "dispatch_p50_ms": 634.862958,
+ "dispatch_p95_ms": 2096.353583,
+ "dispatch_p99_ms": 2480.997791,
+ "e2e_p50_ms": 634.863125,
+ "e2e_p95_ms": 2096.353666,
+ "e2e_p99_ms": 2480.998,
+ "scaling_efficiency": 0.6684336628614487,
+ "peak_rss_mb": 7.984375,
+ "cpu_pct": 0.0,
+ "duration_secs": 11.775731042,
+ "setup_secs": 0.043714667,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 39344,
+ "published_at_window_end": 39344,
+ "processed_at_window_end": 39343,
+ "achieved_publish_msg_per_sec": 3341.1089179664027,
+ "lag_at_window_end": 1,
+ "peak_lag": 6139,
+ "drain_secs": 0.011784708,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 3345.297977772424,
+ "dispatch_p50_ms": 629.1225,
+ "dispatch_p95_ms": 1239.828791,
+ "dispatch_p99_ms": 1525.666958,
+ "e2e_p50_ms": 629.122542,
+ "e2e_p95_ms": 1239.828875,
+ "e2e_p99_ms": 1525.667,
+ "scaling_efficiency": 0.4141489494386255,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 5.978540666,
+ "setup_secs": 0.025537125
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 2717.4174724134996,
+ "dispatch_p50_ms": 722.415375,
+ "dispatch_p95_ms": 1464.479,
+ "dispatch_p99_ms": 1684.172417,
+ "e2e_p50_ms": 722.415417,
+ "e2e_p95_ms": 1464.479042,
+ "e2e_p99_ms": 1684.172583,
+ "scaling_efficiency": 0.328975654368139,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 7.359929125,
+ "setup_secs": 0.009005333
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 4,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 6640.082359889706,
+ "dispatch_p50_ms": 279.533584,
+ "dispatch_p95_ms": 1619.662208,
+ "dispatch_p99_ms": 1815.282167,
+ "e2e_p50_ms": 279.533625,
+ "e2e_p95_ms": 1619.662375,
+ "e2e_p99_ms": 1815.282292,
+ "scaling_efficiency": 1.4644049814411804,
+ "peak_rss_mb": 0.09375,
+ "cpu_pct": 0.0,
+ "duration_secs": 3.012010833,
+ "setup_secs": 0.053628625
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 16707.854362182497,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 1.457853279083627,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 323.18602275,
+ "setup_secs": 0.0088395,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 91.739660875,
+ "producers": 8,
+ "unique_at_start": 255,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49991,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.966007215246,
+ "dispatch_p50_ms": 0.481958,
+ "dispatch_p95_ms": 2.303125,
+ "dispatch_p99_ms": 3.877792,
+ "e2e_p50_ms": 0.482041,
+ "e2e_p95_ms": 2.303208,
+ "e2e_p99_ms": 3.877875,
+ "scaling_efficiency": 1.0001248389926636,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000268041,
+ "setup_secs": 0.008793583,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49991,
+ "published_at_window_end": 49991,
+ "processed_at_window_end": 49991,
+ "achieved_publish_msg_per_sec": 4998.966007215246,
+ "lag_at_window_end": 0,
+ "peak_lag": 22,
+ "drain_secs": 2.09e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 244083,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 23915.885178361114,
+ "dispatch_p50_ms": 7.919875,
+ "dispatch_p95_ms": 272.089709,
+ "dispatch_p99_ms": 331.944583,
+ "e2e_p50_ms": 7.919917,
+ "e2e_p95_ms": 272.089917,
+ "e2e_p99_ms": 331.944791,
+ "scaling_efficiency": 2.539239473386916,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.205894458,
+ "setup_secs": 0.007273875,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 244083,
+ "published_at_window_end": 244083,
+ "processed_at_window_end": 244083,
+ "achieved_publish_msg_per_sec": 23915.885178361114,
+ "lag_at_window_end": 0,
+ "peak_lag": 6950,
+ "drain_secs": 2.5e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 260908,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 25941.75661042952,
+ "dispatch_p50_ms": 150.832583,
+ "dispatch_p95_ms": 298.90325,
+ "dispatch_p99_ms": 329.541625,
+ "e2e_p50_ms": 150.832625,
+ "e2e_p95_ms": 298.903333,
+ "e2e_p99_ms": 329.541791,
+ "scaling_efficiency": 0.9915278099004116,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.057453083,
+ "setup_secs": 0.008444791,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 260908,
+ "published_at_window_end": 260908,
+ "processed_at_window_end": 260908,
+ "achieved_publish_msg_per_sec": 25941.75661042952,
+ "lag_at_window_end": 0,
+ "peak_lag": 7857,
+ "drain_secs": 8.4e-8,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 43876.39474431387,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 3.941177721230217,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 64.520159792,
+ "setup_secs": 0.009196209,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 110.993996791,
+ "producers": 8,
+ "unique_at_start": 244,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4999.076564801093,
+ "dispatch_p50_ms": 0.505417,
+ "dispatch_p95_ms": 2.4055,
+ "dispatch_p99_ms": 4.316167,
+ "e2e_p50_ms": 0.505583,
+ "e2e_p95_ms": 2.405542,
+ "e2e_p99_ms": 4.31625,
+ "scaling_efficiency": 1.000707271437676,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000246916,
+ "setup_secs": 0.005889291,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4999.076564801093,
+ "lag_at_window_end": 0,
+ "peak_lag": 37,
+ "drain_secs": 2.92e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249979,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24992.550759386297,
+ "dispatch_p50_ms": 0.747292,
+ "dispatch_p95_ms": 1.96575,
+ "dispatch_p99_ms": 3.332709,
+ "e2e_p50_ms": 0.747375,
+ "e2e_p95_ms": 1.965833,
+ "e2e_p99_ms": 3.332917,
+ "scaling_efficiency": 2.8027149831346385,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.002140334,
+ "setup_secs": 0.011167458,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249979,
+ "published_at_window_end": 249979,
+ "processed_at_window_end": 249979,
+ "achieved_publish_msg_per_sec": 24992.550759386297,
+ "lag_at_window_end": 0,
+ "peak_lag": 187,
+ "drain_secs": 2.08e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 353399,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 34968.05466170082,
+ "dispatch_p50_ms": 114.029834,
+ "dispatch_p95_ms": 218.425291,
+ "dispatch_p99_ms": 228.911958,
+ "e2e_p50_ms": 114.029875,
+ "e2e_p95_ms": 218.425333,
+ "e2e_p99_ms": 228.912,
+ "scaling_efficiency": 1.422882750766123,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.106338583,
+ "setup_secs": 0.005748917,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 353399,
+ "published_at_window_end": 353399,
+ "processed_at_window_end": 353399,
+ "achieved_publish_msg_per_sec": 34968.05466170082,
+ "lag_at_window_end": 0,
+ "peak_lag": 7713,
+ "drain_secs": 1.67e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 22727.02165568494,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 3.2204602177900696,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 1.942401458,
+ "setup_secs": 0.029389666,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 2.899574667,
+ "producers": 8,
+ "unique_at_start": 92,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4997.917076668923,
+ "dispatch_p50_ms": 0.741917,
+ "dispatch_p95_ms": 1.845209,
+ "dispatch_p99_ms": 3.484792,
+ "e2e_p50_ms": 0.742,
+ "e2e_p95_ms": 1.845375,
+ "e2e_p99_ms": 3.484875,
+ "scaling_efficiency": 0.9999337629025067,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.002566916,
+ "setup_secs": 0.007856458,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4997.917076668923,
+ "lag_at_window_end": 0,
+ "peak_lag": 21,
+ "drain_secs": 3.75e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 101088,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 9481.505566704443,
+ "dispatch_p50_ms": 396.658417,
+ "dispatch_p95_ms": 816.51475,
+ "dispatch_p99_ms": 906.437833,
+ "e2e_p50_ms": 396.658459,
+ "e2e_p95_ms": 816.514834,
+ "e2e_p99_ms": 906.437875,
+ "scaling_efficiency": 1.3936306866239472,
+ "peak_rss_mb": 0.15625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.661597917,
+ "setup_secs": 0.007546875,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 101088,
+ "published_at_window_end": 101088,
+ "processed_at_window_end": 101088,
+ "achieved_publish_msg_per_sec": 9481.505566704443,
+ "lag_at_window_end": 0,
+ "peak_lag": 7078,
+ "drain_secs": 1.67e-7,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 926149.9709870844,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 2.979425428878452,
+ "peak_rss_mb": 1.296875,
+ "cpu_pct": 0.0,
+ "duration_secs": 5.7879395,
+ "setup_secs": 0.0456335,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 88.945919291,
+ "producers": 8,
+ "unique_at_start": 39500,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4963.934966904324,
+ "dispatch_p50_ms": 128.234083,
+ "dispatch_p95_ms": 243.741917,
+ "dispatch_p99_ms": 253.323292,
+ "e2e_p50_ms": 128.246083,
+ "e2e_p95_ms": 243.747791,
+ "e2e_p99_ms": 253.325375,
+ "scaling_efficiency": 1.0030251133616472,
+ "peak_rss_mb": 0.0625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.002145542,
+ "setup_secs": 0.276523458,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49650,
+ "achieved_publish_msg_per_sec": 4998.127630724693,
+ "lag_at_window_end": 342,
+ "peak_lag": 1192,
+ "drain_secs": 0.284089625,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249988,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 24698.99475091364,
+ "dispatch_p50_ms": 81.062959,
+ "dispatch_p95_ms": 153.493542,
+ "dispatch_p99_ms": 166.325625,
+ "e2e_p50_ms": 81.075583,
+ "e2e_p95_ms": 153.504375,
+ "e2e_p99_ms": 166.54525,
+ "scaling_efficiency": 3.2244100451790185,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000407,
+ "setup_secs": 0.265406333,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249988,
+ "published_at_window_end": 249988,
+ "processed_at_window_end": 247000,
+ "achieved_publish_msg_per_sec": 24997.78259024858,
+ "lag_at_window_end": 2988,
+ "peak_lag": 3811,
+ "drain_secs": 0.352448334,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 353622,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 34773.93510543137,
+ "dispatch_p50_ms": 164.004208,
+ "dispatch_p95_ms": 289.231292,
+ "dispatch_p99_ms": 331.82425,
+ "e2e_p50_ms": 164.02375,
+ "e2e_p95_ms": 289.232542,
+ "e2e_p99_ms": 331.825375,
+ "scaling_efficiency": 0.6795869439493094,
+ "peak_rss_mb": 0.109375,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.108145625,
+ "setup_secs": 0.356865209,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 353622,
+ "published_at_window_end": 353622,
+ "processed_at_window_end": 351500,
+ "achieved_publish_msg_per_sec": 34983.86480754723,
+ "lag_at_window_end": 2122,
+ "peak_lag": 10122,
+ "drain_secs": 0.317551875,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 581010.3909250726,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 5.849808117467209,
+ "peak_rss_mb": 15.8125,
+ "cpu_pct": 0.0,
+ "duration_secs": 4.8513005,
+ "setup_secs": 0.026006125,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 52.754871792,
+ "producers": 8,
+ "unique_at_start": 12500,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49990,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4983.655551695189,
+ "dispatch_p50_ms": 129.981209,
+ "dispatch_p95_ms": 244.749916,
+ "dispatch_p99_ms": 253.875583,
+ "e2e_p50_ms": 129.990834,
+ "e2e_p95_ms": 244.755125,
+ "e2e_p99_ms": 253.879583,
+ "scaling_efficiency": 1.0069785464788346,
+ "peak_rss_mb": 0.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.0004905,
+ "setup_secs": 0.257777,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49990,
+ "published_at_window_end": 49990,
+ "processed_at_window_end": 49839,
+ "achieved_publish_msg_per_sec": 4998.7548110765165,
+ "lag_at_window_end": 151,
+ "peak_lag": 1266,
+ "drain_secs": 0.281127042,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249983,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 24796.370842837638,
+ "dispatch_p50_ms": 80.61075,
+ "dispatch_p95_ms": 153.099,
+ "dispatch_p99_ms": 163.709875,
+ "e2e_p50_ms": 80.625458,
+ "e2e_p95_ms": 153.101708,
+ "e2e_p99_ms": 163.710959,
+ "scaling_efficiency": 0.994089244330426,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001463584,
+ "setup_secs": 0.339355708,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249983,
+ "published_at_window_end": 249983,
+ "processed_at_window_end": 248000,
+ "achieved_publish_msg_per_sec": 24994.641824214035,
+ "lag_at_window_end": 1983,
+ "peak_lag": 3608,
+ "drain_secs": 0.224071,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 344698,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 33826.078182391226,
+ "dispatch_p50_ms": 176.38975,
+ "dispatch_p95_ms": 301.333417,
+ "dispatch_p99_ms": 340.80875,
+ "e2e_p50_ms": 176.404125,
+ "e2e_p95_ms": 301.340458,
+ "e2e_p99_ms": 340.812459,
+ "scaling_efficiency": 0.6383103691099975,
+ "peak_rss_mb": 3.28125,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.140105458,
+ "setup_secs": 0.264398667,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 344698,
+ "published_at_window_end": 344698,
+ "processed_at_window_end": 343000,
+ "achieved_publish_msg_per_sec": 33993.532062139624,
+ "lag_at_window_end": 1698,
+ "peak_lag": 9698,
+ "drain_secs": 0.2942575,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 33865.14105983459,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 2.0221670504994287,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 1.188153917,
+ "setup_secs": 0.166155208,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 2.748430584,
+ "producers": 8,
+ "unique_at_start": 4000,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 4934.346509911072,
+ "dispatch_p50_ms": 128.866583,
+ "dispatch_p95_ms": 241.448208,
+ "dispatch_p99_ms": 251.27625,
+ "e2e_p50_ms": 128.889083,
+ "e2e_p95_ms": 241.450208,
+ "e2e_p99_ms": 251.277166,
+ "scaling_efficiency": 0.9968882350874164,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001121709,
+ "setup_secs": 0.260513125,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49349,
+ "achieved_publish_msg_per_sec": 4998.639298131154,
+ "lag_at_window_end": 643,
+ "peak_lag": 1286,
+ "drain_secs": 0.1408625,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 118692,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "max_batch_size": 500,
+ "max_batch_age_ms": 250,
+ "throughput_msg_per_sec": 11540.062611755777,
+ "dispatch_p50_ms": 457.984875,
+ "dispatch_p95_ms": 809.335458,
+ "dispatch_p99_ms": 887.480375,
+ "e2e_p50_ms": 457.997792,
+ "e2e_p95_ms": 809.338583,
+ "e2e_p99_ms": 887.484167,
+ "scaling_efficiency": 1.0153353412397046,
+ "peak_rss_mb": 186.96875,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.189979375,
+ "setup_secs": 0.273811292,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 118692,
+ "published_at_window_end": 118692,
+ "processed_at_window_end": 117593,
+ "achieved_publish_msg_per_sec": 11647.913664202093,
+ "lag_at_window_end": 1099,
+ "peak_lag": 9136,
+ "drain_secs": 0.239117542,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 453289.52803637064,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 2.146299912135075,
+ "peak_rss_mb": 5.03125,
+ "cpu_pct": 0.0,
+ "duration_secs": 11.869014542,
+ "setup_secs": 0.047268416,
+ "method": "drain",
+ "drain": {
+ "corpus": 6000000,
+ "published": 6000000,
+ "fill_secs": 90.226106875,
+ "producers": 8,
+ "unique_at_start": 19900,
+ "unique_at_end": 5400000,
+ "unique_final": 6000000,
+ "deliveries": 6000000,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.079555515643,
+ "dispatch_p50_ms": 0.623167,
+ "dispatch_p95_ms": 1.687416,
+ "dispatch_p99_ms": 2.704084,
+ "e2e_p50_ms": 0.623375,
+ "e2e_p95_ms": 1.687583,
+ "e2e_p99_ms": 2.704375,
+ "scaling_efficiency": 0.9999503486305957,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.00224175,
+ "setup_secs": 0.007272709,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.079555515643,
+ "lag_at_window_end": 0,
+ "peak_lag": 17,
+ "drain_secs": 3.75e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 249976,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24995.768537543063,
+ "dispatch_p50_ms": 0.532833,
+ "dispatch_p95_ms": 1.701375,
+ "dispatch_p99_ms": 5.569666,
+ "e2e_p50_ms": 0.532916,
+ "e2e_p95_ms": 1.701542,
+ "e2e_p99_ms": 5.56975,
+ "scaling_efficiency": 1.0001254163739324,
+ "peak_rss_mb": 0.015625,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.000732709,
+ "setup_secs": 0.011359458,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249976,
+ "published_at_window_end": 249976,
+ "processed_at_window_end": 249976,
+ "achieved_publish_msg_per_sec": 24995.768537543063,
+ "lag_at_window_end": 0,
+ "peak_lag": 147,
+ "drain_secs": 1.66e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 276216,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 27088.995028276764,
+ "dispatch_p50_ms": 145.830792,
+ "dispatch_p95_ms": 280.058166,
+ "dispatch_p99_ms": 292.446875,
+ "e2e_p50_ms": 145.830959,
+ "e2e_p95_ms": 280.058333,
+ "e2e_p99_ms": 292.447042,
+ "scaling_efficiency": 0.526794398844685,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.196613042,
+ "setup_secs": 0.006204708,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 276216,
+ "published_at_window_end": 276216,
+ "processed_at_window_end": 276216,
+ "achieved_publish_msg_per_sec": 27088.995028276764,
+ "lag_at_window_end": 0,
+ "peak_lag": 7617,
+ "drain_secs": 1.66e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 3145728,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 390694.00360718236,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 2.2717525490901633,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 7.212706041,
+ "setup_secs": 0.03791875,
+ "method": "drain",
+ "drain": {
+ "corpus": 3145728,
+ "published": 3145728,
+ "fill_secs": 52.6685465,
+ "producers": 8,
+ "unique_at_start": 13195,
+ "unique_at_end": 2831156,
+ "unique_final": 3145728,
+ "deliveries": 3145728,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.695902512754,
+ "dispatch_p50_ms": 0.590125,
+ "dispatch_p95_ms": 1.662709,
+ "dispatch_p99_ms": 2.843167,
+ "e2e_p50_ms": 0.590208,
+ "e2e_p95_ms": 1.662834,
+ "e2e_p99_ms": 2.843209,
+ "scaling_efficiency": 1.0000679973427535,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001008458,
+ "setup_secs": 0.007576542,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.695902512754,
+ "lag_at_window_end": 0,
+ "peak_lag": 16,
+ "drain_secs": 6.67e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 249987,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 24995.919707526496,
+ "dispatch_p50_ms": 0.546708,
+ "dispatch_p95_ms": 1.704791,
+ "dispatch_p99_ms": 8.026167,
+ "e2e_p50_ms": 0.546833,
+ "e2e_p95_ms": 1.704833,
+ "e2e_p99_ms": 8.026292,
+ "scaling_efficiency": 0.9999333246219642,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001072292,
+ "setup_secs": 0.011738459,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 249987,
+ "published_at_window_end": 249987,
+ "processed_at_window_end": 249986,
+ "achieved_publish_msg_per_sec": 24996.019696804728,
+ "lag_at_window_end": 1,
+ "peak_lag": 193,
+ "drain_secs": 0.012137375,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 261014,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 25758.446461950243,
+ "dispatch_p50_ms": 149.85825,
+ "dispatch_p95_ms": 291.937125,
+ "dispatch_p99_ms": 311.500667,
+ "e2e_p50_ms": 149.858292,
+ "e2e_p95_ms": 291.937167,
+ "e2e_p99_ms": 311.501875,
+ "scaling_efficiency": 0.5350219495780639,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.133142167,
+ "setup_secs": 0.006526666,
+ "load": {
+ "offered_msg_per_sec": 100000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 261014,
+ "published_at_window_end": 261014,
+ "processed_at_window_end": 261014,
+ "achieved_publish_msg_per_sec": 25758.446461950243,
+ "lag_at_window_end": 0,
+ "peak_lag": 7632,
+ "drain_secs": 2.5e-7,
+ "producer_bound": true,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49152,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 33848.25482233601,
+ "dispatch_p50_ms": 0.0,
+ "dispatch_p95_ms": 0.0,
+ "dispatch_p99_ms": 0.0,
+ "e2e_p50_ms": 0.0,
+ "e2e_p95_ms": 0.0,
+ "e2e_p99_ms": 0.0,
+ "scaling_efficiency": 2.370951401851935,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 1.28328625,
+ "setup_secs": 0.034179917,
+ "method": "drain",
+ "drain": {
+ "corpus": 49152,
+ "published": 49152,
+ "fill_secs": 2.8334198329999998,
+ "producers": 8,
+ "unique_at_start": 800,
+ "unique_at_end": 44237,
+ "unique_final": 49152,
+ "deliveries": 49152,
+ "duplicates": 0
+ }
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 49992,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 4998.281753163422,
+ "dispatch_p50_ms": 0.777167,
+ "dispatch_p95_ms": 1.7215,
+ "dispatch_p99_ms": 2.63775,
+ "e2e_p50_ms": 0.777292,
+ "e2e_p95_ms": 1.721625,
+ "e2e_p99_ms": 2.637833,
+ "scaling_efficiency": 0.9999987377318944,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.001837125,
+ "setup_secs": 0.007430125,
+ "load": {
+ "offered_msg_per_sec": 5000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 49992,
+ "published_at_window_end": 49992,
+ "processed_at_window_end": 49992,
+ "achieved_publish_msg_per_sec": 4998.281753163422,
+ "lag_at_window_end": 0,
+ "peak_lag": 41,
+ "drain_secs": 4.59e-7,
+ "producer_bound": false,
+ "sustained": true
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "consumer_group",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 110124,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 10385.615964799454,
+ "dispatch_p50_ms": 361.936667,
+ "dispatch_p95_ms": 733.232333,
+ "dispatch_p99_ms": 776.374208,
+ "e2e_p50_ms": 361.936708,
+ "e2e_p95_ms": 733.232375,
+ "e2e_p99_ms": 776.37425,
+ "scaling_efficiency": 0.9212048625783013,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 10.603415375,
+ "setup_secs": 0.009049792,
+ "load": {
+ "offered_msg_per_sec": 25000,
+ "window_secs": 10,
+ "producers": 8,
+ "published": 110124,
+ "published_at_window_end": 110124,
+ "processed_at_window_end": 110123,
+ "achieved_publish_msg_per_sec": 10385.710274035171,
+ "lag_at_window_end": 1,
+ "peak_lag": 6961,
+ "drain_secs": 0.01141175,
+ "producer_bound": false,
+ "sustained": false
+ },
+ "method": "offered_load"
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 38518.348395813104,
+ "dispatch_p50_ms": 103.953583,
+ "dispatch_p95_ms": 197.48475,
+ "dispatch_p99_ms": 205.651875,
+ "e2e_p50_ms": 103.953625,
+ "e2e_p95_ms": 197.484791,
+ "e2e_p99_ms": 205.651917,
+ "scaling_efficiency": 4.768583734014435,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 1.038466125,
+ "setup_secs": 0.007771083
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 37744.00614165939,
+ "dispatch_p50_ms": 104.561292,
+ "dispatch_p95_ms": 201.348125,
+ "dispatch_p99_ms": 215.252875,
+ "e2e_p50_ms": 104.561333,
+ "e2e_p95_ms": 201.34825,
+ "e2e_p99_ms": 215.253,
+ "scaling_efficiency": 4.569360153520801,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 1.059770917,
+ "setup_secs": 0.00739375
+ },
+ {
+ "flow": "broadcast",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 5000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "handler_cost": "framework",
+ "throughput_msg_per_sec": 18984.928481339593,
+ "dispatch_p50_ms": 209.846667,
+ "dispatch_p95_ms": 396.443042,
+ "dispatch_p99_ms": 424.194042,
+ "e2e_p50_ms": 209.84675,
+ "e2e_p95_ms": 396.443084,
+ "e2e_p99_ms": 424.194208,
+ "scaling_efficiency": 4.186939609110517,
+ "peak_rss_mb": 0.0,
+ "cpu_pct": 0.0,
+ "duration_secs": 2.106934458,
+ "setup_secs": 0.00705275
+ }
+ ],
+ "failures": [
+ {
+ "flow": "consume_parallel",
+ "mode": "parallel",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 250000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "method": "offered_load",
+ "error": "producer failed: publish_batch: batch publish: 433 of 1000 records published, 567 need re-publishing (0 failed, 567 unattempted); first error: connection error: XADD to shove-stress-bench failed: timed out"
+ },
+ {
+ "flow": "consume_fifo",
+ "mode": "fifo",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 40000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "error": "topology error: topic 'shove-stress-bench-seq' is sequenced; `concurrent_processing` on a FIFO consumer would break per-key ordering. Drop `with_concurrent_processing(true)` or use `register` for unsequenced topics."
+ },
+ {
+ "flow": "consume_fifo",
+ "mode": "fifo",
+ "payload_bytes": 1024,
+ "tier": "moderate",
+ "messages": 40000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "error": "topology error: topic 'shove-stress-bench-seq' is sequenced; `concurrent_processing` on a FIFO consumer would break per-key ordering. Drop `with_concurrent_processing(true)` or use `register` for unsequenced topics."
+ },
+ {
+ "flow": "consume_fifo",
+ "mode": "fifo",
+ "payload_bytes": 65536,
+ "tier": "moderate",
+ "messages": 40000,
+ "consumers": 8,
+ "handler": "zero (no-op)",
+ "error": "topology error: topic 'shove-stress-bench-seq' is sequenced; `concurrent_processing` on a FIFO consumer would break per-key ordering. Drop `with_concurrent_processing(true)` or use `register` for unsequenced topics."
+ },
+ {
+ "flow": "consume_batch",
+ "mode": "batch",
+ "payload_bytes": 64,
+ "tier": "moderate",
+ "messages": 6000000,
+ "consumers": 1,
+ "handler": "zero (no-op)",
+ "method": "drain",
+ "error": "purge: DEL: timed out"
+ }
+ ],
+ "unsupported": []
}
]
}
diff --git a/docs/pages/ops/performance.mdx b/docs/pages/ops/performance.mdx
index 046e7b5a..4204b587 100644
--- a/docs/pages/ops/performance.mdx
+++ b/docs/pages/ops/performance.mdx
@@ -10,13 +10,14 @@ an explicit "not supported" marker, never as a zero. And a backend the results
document does not contain is never plotted, so absence from a chart means "not
measured here", not "slow".
-The document these charts render from measures the **in-process** and **Kafka**
-backends. NATS, RabbitMQ and Redis are supported by the harness but are not in
-this document yet; SQS additionally only runs against LocalStack
-(non-representative by design), which needs a LocalStack Pro auth token. The
-harness refuses to merge runs measured on different hosts into one document, so
-completing the set means re-measuring every backend back to back on a single
-host rather than appending to what is published here — that rerun is pending.
+The document these charts render from measures the **in-process**, **Kafka**,
+**RabbitMQ** and **Redis** backends. NATS is supported by the harness but is not
+in this document yet: the drain fill deadlocks in the NATS publisher's in-flight
+ack budget, and the run waits on that fix. SQS only runs against LocalStack
+(non-representative by design), needs a LocalStack Pro auth token, and is not in
+this document either. The harness refuses to merge runs measured on different
+hosts into one document, so completing the set means measuring the remaining
+backends on the same host as the published runs.
### Throughput vs consumer count
diff --git a/docs/public/bench/dispatch-latency-1kib-dark.svg b/docs/public/bench/dispatch-latency-1kib-dark.svg
index d05604e2..4868aa27 100644
--- a/docs/public/bench/dispatch-latency-1kib-dark.svg
+++ b/docs/public/bench/dispatch-latency-1kib-dark.svg
@@ -7,102 +7,183 @@ Dispatch latency percentiles
consume_parallel — 1 KiB payload — sustained offered load — lower is better
-
+
dispatch = publish → handler entry, measured while a paced producer held the offered rate and the consumers kept up (a
-
+
sustained offered-load rung); the backlog a corpus-mode row would add is absent by construction
+
+highest sustained rung per backend: inmemory at 100k msg/s, 1 consumer; kafka at 100k msg/s, 1 consumer; rabbitmq at
+
-highest sustained rung per backend: inmemory at 100k msg/s, 1 consumer; kafka at 100k msg/s, 1 consumer
+5.0k msg/s, 1 consumer; redis at 5.0k msg/s, 1 consumer
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
milliseconds
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
0.0
-
-
+
+
5.0
-
-
+
+
10
-
-
+
+
15
-
-
+
+
20
+
+
+25
+
+
+
+30
+
+
+
+35
+
+
+
+40
+
+
+
+45
+
-
-
-
-
-
+
+50
+
+
+
+
+
+
+
0.9
-
-
-
-
-
+
+
+
+
+
3.9
-
-
-
-
-
+
+
+
+
+
20
-
-
-
-
-
+
+
+
+
+
8.0
-
-
-
-
-
+
+
+
+
+
13
-
-
-
-
-
+
+
+
+
+
21
-
+
+
+
+
+
+1.3
+
+
+
+
+
+
+15
+
+
+
+
+
+
+47
+
+
+
+
+
+
+1.1
+
+
+
+
+
+
+2.2
+
+
+
+
+
+
+3.1
+
+
inmemory
-
+
kafka
-
+
+rabbitmq
+
+
+redis
+
+
backend
diff --git a/docs/public/bench/dispatch-latency-1kib.svg b/docs/public/bench/dispatch-latency-1kib.svg
index 1c14fec4..6d1f1232 100644
--- a/docs/public/bench/dispatch-latency-1kib.svg
+++ b/docs/public/bench/dispatch-latency-1kib.svg
@@ -7,102 +7,183 @@ Dispatch latency percentiles
consume_parallel — 1 KiB payload — sustained offered load — lower is better
-
+
dispatch = publish → handler entry, measured while a paced producer held the offered rate and the consumers kept up (a
-
+
sustained offered-load rung); the backlog a corpus-mode row would add is absent by construction
+
+highest sustained rung per backend: inmemory at 100k msg/s, 1 consumer; kafka at 100k msg/s, 1 consumer; rabbitmq at
+
-highest sustained rung per backend: inmemory at 100k msg/s, 1 consumer; kafka at 100k msg/s, 1 consumer
+5.0k msg/s, 1 consumer; redis at 5.0k msg/s, 1 consumer
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
milliseconds
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
0.0
-
-
+
+
5.0
-
-
+
+
10
-
-
+
+
15
-
-
+
+
20
+
+
+25
+
+
+
+30
+
+
+
+35
+
+
+
+40
+
+
+
+45
+
-
-
-
-
-
+
+50
+
+
+
+
+
+
+
0.9
-
-
-
-
-
+
+
+
+
+
3.9
-
-
-
-
-
+
+
+
+
+
20
-
-
-
-
-
+
+
+
+
+
8.0
-
-
-
-
-
+
+
+
+
+
13
-
-
-
-
-
+
+
+
+
+
21
-
+
+
+
+
+
+1.3
+
+
+
+
+
+
+15
+
+
+
+
+
+
+47
+
+
+
+
+
+
+1.1
+
+
+
+
+
+
+2.2
+
+
+
+
+
+
+3.1
+
+
inmemory
-
+
kafka
-
+
+rabbitmq
+
+
+redis
+
+
backend
diff --git a/docs/public/bench/dispatch-latency-64kib-dark.svg b/docs/public/bench/dispatch-latency-64kib-dark.svg
index fe5c08c9..48fb7d11 100644
--- a/docs/public/bench/dispatch-latency-64kib-dark.svg
+++ b/docs/public/bench/dispatch-latency-64kib-dark.svg
@@ -7,132 +7,168 @@ Dispatch latency percentiles
consume_parallel — 64 KiB payload — sustained offered load — lower is better
-
+
dispatch = publish → handler entry, measured while a paced producer held the offered rate and the consumers kept up (a
-
+
sustained offered-load rung); the backlog a corpus-mode row would add is absent by construction
+
+highest sustained rung per backend: inmemory at 25k msg/s, 1 consumer; kafka at 5.0k msg/s, 1 consumer; rabbitmq at
+
-highest sustained rung per backend: inmemory at 25k msg/s, 1 consumer; kafka at 5.0k msg/s, 1 consumer
+5.0k msg/s, 2 consumers; redis at 5.0k msg/s, 1 consumer
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
milliseconds
-
-
-
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
0.0
-
-
-5.0
-
-
-
+
+
10
-
+
-15
-
-
-
20
-
-
-25
-
-
-
+
+
30
-
-
-35
-
-
-
+
+
40
-
-
-45
-
-
-
+
+
50
-
-
-
-
-
-
+
+
+60
+
+
+
+70
+
+
+
+
+
+
+
0.5
-
-
-
-
-
+
+
+
+
+
13
-
-
-
-
-
+
+
+
+
+
45
-
-
-
-
-
+
+
+
+
+
8.3
-
-
-
-
-
+
+
+
+
+
12
-
-
-
-
-
+
+
+
+
+
18
-
+
+
+
+
+
+2.1
+
+
+
+
+
+
+5.9
+
+
+
+
+
+
+67
+
+
+
+
+
+
+1.4
+
+
+
+
+
+
+2.6
+
+
+
+
+
+
+3.4
+
+
inmemory
-
+
kafka
-
+
+rabbitmq
+
+
+redis
+
+
backend
diff --git a/docs/public/bench/dispatch-latency-64kib.svg b/docs/public/bench/dispatch-latency-64kib.svg
index 335b35dd..7867e91b 100644
--- a/docs/public/bench/dispatch-latency-64kib.svg
+++ b/docs/public/bench/dispatch-latency-64kib.svg
@@ -7,132 +7,168 @@ Dispatch latency percentiles
consume_parallel — 64 KiB payload — sustained offered load — lower is better
-
+
dispatch = publish → handler entry, measured while a paced producer held the offered rate and the consumers kept up (a
-
+
sustained offered-load rung); the backlog a corpus-mode row would add is absent by construction
+
+highest sustained rung per backend: inmemory at 25k msg/s, 1 consumer; kafka at 5.0k msg/s, 1 consumer; rabbitmq at
+
-highest sustained rung per backend: inmemory at 25k msg/s, 1 consumer; kafka at 5.0k msg/s, 1 consumer
+5.0k msg/s, 2 consumers; redis at 5.0k msg/s, 1 consumer
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
milliseconds
-
-
-
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
0.0
-
-
-5.0
-
-
-
+
+
10
-
+
-15
-
-
-
20
-
-
-25
-
-
-
+
+
30
-
-
-35
-
-
-
+
+
40
-
-
-45
-
-
-
+
+
50
-
-
-
-
-
-
+
+
+60
+
+
+
+70
+
+
+
+
+
+
+
0.5
-
-
-
-
-
+
+
+
+
+
13
-
-
-
-
-
+
+
+
+
+
45
-
-
-
-
-
+
+
+
+
+
8.3
-
-
-
-
-
+
+
+
+
+
12
-
-
-
-
-
+
+
+
+
+
18
-
+
+
+
+
+
+2.1
+
+
+
+
+
+
+5.9
+
+
+
+
+
+
+67
+
+
+
+
+
+
+1.4
+
+
+
+
+
+
+2.6
+
+
+
+
+
+
+3.4
+
+
inmemory
-
+
kafka
-
+
+rabbitmq
+
+
+redis
+
+
backend
diff --git a/docs/public/bench/dispatch-latency-dark.svg b/docs/public/bench/dispatch-latency-dark.svg
index a65809f6..b3299322 100644
--- a/docs/public/bench/dispatch-latency-dark.svg
+++ b/docs/public/bench/dispatch-latency-dark.svg
@@ -7,107 +7,158 @@ Dispatch latency percentiles
consume_parallel — 64 B payload — sustained offered load — lower is better
-
+
dispatch = publish → handler entry, measured while a paced producer held the offered rate and the consumers kept up (a
-
+
sustained offered-load rung); the backlog a corpus-mode row would add is absent by construction
+
+highest sustained rung per backend: inmemory at 100k msg/s, 1 consumer; kafka at 100k msg/s, 1 consumer; rabbitmq at
+
-highest sustained rung per backend: inmemory at 100k msg/s, 1 consumer; kafka at 100k msg/s, 1 consumer
+25k msg/s, 1 consumer; redis at 5.0k msg/s, 1 consumer
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
milliseconds
-
-
-
-
-
+
+
+
+
+
-
-
+
+
0.0
-
-
+
+
5.0
-
-
+
+
10
-
-
+
+
15
-
-
+
+
20
-
+
25
-
-
-
-
-
+
+
+
+
+
0.9
-
-
-
-
-
+
+
+
+
+
3.5
-
-
-
-
-
+
+
+
+
+
7.1
-
-
-
-
-
+
+
+
+
+
8.2
-
-
-
-
-
+
+
+
+
+
13
-
-
-
-
-
+
+
+
+
+
22
-
+
+
+
+
+
+2.7
+
+
+
+
+
+
+6.5
+
+
+
+
+
+
+14
+
+
+
+
+
+
+1.1
+
+
+
+
+
+
+2.3
+
+
+
+
+
+
+4.3
+
+
inmemory
-
+
kafka
-
+
+rabbitmq
+
+
+redis
+
+
backend
diff --git a/docs/public/bench/dispatch-latency.svg b/docs/public/bench/dispatch-latency.svg
index 6a3c052c..2e62c22e 100644
--- a/docs/public/bench/dispatch-latency.svg
+++ b/docs/public/bench/dispatch-latency.svg
@@ -7,107 +7,158 @@ Dispatch latency percentiles
consume_parallel — 64 B payload — sustained offered load — lower is better
-
+
dispatch = publish → handler entry, measured while a paced producer held the offered rate and the consumers kept up (a
-
+
sustained offered-load rung); the backlog a corpus-mode row would add is absent by construction
+
+highest sustained rung per backend: inmemory at 100k msg/s, 1 consumer; kafka at 100k msg/s, 1 consumer; rabbitmq at
+
-highest sustained rung per backend: inmemory at 100k msg/s, 1 consumer; kafka at 100k msg/s, 1 consumer
+25k msg/s, 1 consumer; redis at 5.0k msg/s, 1 consumer
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
milliseconds
-
-
-
-
-
+
+
+
+
+
-
-
+
+
0.0
-
-
+
+
5.0
-
-
+
+
10
-
-
+
+
15
-
-
+
+
20
-
+
25
-
-
-
-
-
+
+
+
+
+
0.9
-
-
-
-
-
+
+
+
+
+
3.5
-
-
-
-
-
+
+
+
+
+
7.1
-
-
-
-
-
+
+
+
+
+
8.2
-
-
-
-
-
+
+
+
+
+
13
-
-
-
-
-
+
+
+
+
+
22
-
+
+
+
+
+
+2.7
+
+
+
+
+
+
+6.5
+
+
+
+
+
+
+14
+
+
+
+
+
+
+1.1
+
+
+
+
+
+
+2.3
+
+
+
+
+
+
+4.3
+
+
inmemory
-
+
kafka
-
+
+rabbitmq
+
+
+redis
+
+
backend
diff --git a/docs/public/bench/framework-overhead-dark.svg b/docs/public/bench/framework-overhead-dark.svg
index 92d2dcde..a6c926a0 100644
--- a/docs/public/bench/framework-overhead-dark.svg
+++ b/docs/public/bench/framework-overhead-dark.svg
@@ -35,13 +35,13 @@ from the moment every worker was assigned until 90 % of a corpus of 6.0M message
been consumed; no producer ran in the window
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
nanoseconds / message
diff --git a/docs/public/bench/framework-overhead.svg b/docs/public/bench/framework-overhead.svg
index e72cf108..4d49c260 100644
--- a/docs/public/bench/framework-overhead.svg
+++ b/docs/public/bench/framework-overhead.svg
@@ -35,13 +35,13 @@ from the moment every worker was assigned until 90 % of a corpus of 6.0M message
been consumed; no producer ran in the window
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
nanoseconds / message
diff --git a/docs/public/bench/parallel-vs-sequenced-1kib-dark.svg b/docs/public/bench/parallel-vs-sequenced-1kib-dark.svg
index 5acca4ad..c5ccb177 100644
--- a/docs/public/bench/parallel-vs-sequenced-1kib-dark.svg
+++ b/docs/public/bench/parallel-vs-sequenced-1kib-dark.svg
@@ -7,121 +7,174 @@ Parallel vs sequenced consume
1 KiB payload — least-parallel measurement per mode — what ordering costs — higher is better
+
+redis / sequenced (fifo): failed to run — absent, not zero; see failures[] in the results document
+
+
+kafka, rabbitmq / sequenced (fifo): lower bound (muted bar) — this window cannot separate setup from drain, so the
+
+
+true rate is at least the bar shown
+
+
+rabbitmq / parallel, sequenced (fifo), batch: measured at 8 workers (the least-parallel count the measured modes
+
-kafka / sequenced (fifo): lower bound (muted bar) — this window cannot separate setup from drain, so the true rate is
+share)
-at least the bar shown
+inmemory / sequenced (fifo): measured, but every window under 1 s — too short to publish as a rate, even a lower bound
-inmemory / sequenced (fifo): measured, but every window under 1 s — too short to publish as a rate, even a lower bound
+batch bars: up to 500 messages or 250 ms per batch
-batch bars: up to 500 messages or 250 ms per batch
+drain (inmemory, kafka, rabbitmq, redis): each consume_batch / consume_parallel point is the processing rate of the
-drain (inmemory, kafka): each consume_batch / consume_parallel point is the processing rate of the consumers from the
+consumers from the moment every worker was assigned until 90 % of a corpus of 3.1M messages, published before they
-moment every worker was assigned until 90 % of a corpus of 3.1M messages, published before they started, had been
+started, had been consumed; no producer ran in the window
-consumed; no producer ran in the window
+redis: 1 cell in this slice failed to run — absent, not zero; see failures[]
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
messages / second
-
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
0.0
-
-
+
+
200k
-
-
+
+
400k
-
-
+
+
600k
-
-
+
+
800k
-
-
+
+
1.0M
-
-
+
+
1.2M
-
-
+
+
1.4M
-
-
-
-
-
-
+
+
+
+
+
+
637k
-
+
n/s
-
-
-
-
-
+
+
+
+
+
1.3M
-
-
-
-
-
+
+
+
+
+
81k
-
+
≥1.6k
-
-
-
-
-
+
+
+
+
+
86k
-
+
+
+
+
+
+28k
+
+
+
+≥10.0k
+
+
+
+
+
+
+30k
+
+
+
+
+
+
+11k
+
+
+n/s
+
+
+
+
+
+
+99k
+
+
inmemory
-
+
kafka
-
+
+rabbitmq
+
+
+redis
+
+
backend
diff --git a/docs/public/bench/parallel-vs-sequenced-1kib.svg b/docs/public/bench/parallel-vs-sequenced-1kib.svg
index bf67e337..1ef97f24 100644
--- a/docs/public/bench/parallel-vs-sequenced-1kib.svg
+++ b/docs/public/bench/parallel-vs-sequenced-1kib.svg
@@ -7,121 +7,174 @@ Parallel vs sequenced consume
1 KiB payload — least-parallel measurement per mode — what ordering costs — higher is better
+
+redis / sequenced (fifo): failed to run — absent, not zero; see failures[] in the results document
+
+
+kafka, rabbitmq / sequenced (fifo): lower bound (muted bar) — this window cannot separate setup from drain, so the
+
+
+true rate is at least the bar shown
+
+
+rabbitmq / parallel, sequenced (fifo), batch: measured at 8 workers (the least-parallel count the measured modes
+
-kafka / sequenced (fifo): lower bound (muted bar) — this window cannot separate setup from drain, so the true rate is
+share)
-at least the bar shown
+inmemory / sequenced (fifo): measured, but every window under 1 s — too short to publish as a rate, even a lower bound
-inmemory / sequenced (fifo): measured, but every window under 1 s — too short to publish as a rate, even a lower bound
+batch bars: up to 500 messages or 250 ms per batch
-batch bars: up to 500 messages or 250 ms per batch
+drain (inmemory, kafka, rabbitmq, redis): each consume_batch / consume_parallel point is the processing rate of the
-drain (inmemory, kafka): each consume_batch / consume_parallel point is the processing rate of the consumers from the
+consumers from the moment every worker was assigned until 90 % of a corpus of 3.1M messages, published before they
-moment every worker was assigned until 90 % of a corpus of 3.1M messages, published before they started, had been
+started, had been consumed; no producer ran in the window
-consumed; no producer ran in the window
+redis: 1 cell in this slice failed to run — absent, not zero; see failures[]
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
messages / second
-
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
0.0
-
-
+
+
200k
-
-
+
+
400k
-
-
+
+
600k
-
-
+
+
800k
-
-
+
+
1.0M
-
-
+
+
1.2M
-
-
+
+
1.4M
-
-
-
-
-
-
+
+
+
+
+
+
637k
-
+
n/s
-
-
-
-
-
+
+
+
+
+
1.3M
-
-
-
-
-
+
+
+
+
+
81k
-
+
≥1.6k
-
-
-
-
-
+
+
+
+
+
86k
-
+
+
+
+
+
+28k
+
+
+
+≥10.0k
+
+
+
+
+
+
+30k
+
+
+
+
+
+
+11k
+
+
+n/s
+
+
+
+
+
+
+99k
+
+
inmemory
-
+
kafka
-
+
+rabbitmq
+
+
+redis
+
+
backend
diff --git a/docs/public/bench/parallel-vs-sequenced-64kib-dark.svg b/docs/public/bench/parallel-vs-sequenced-64kib-dark.svg
index bbd967a1..2419d7b2 100644
--- a/docs/public/bench/parallel-vs-sequenced-64kib-dark.svg
+++ b/docs/public/bench/parallel-vs-sequenced-64kib-dark.svg
@@ -7,143 +7,199 @@ Parallel vs sequenced consume
64 KiB payload — least-parallel measurement per mode — what ordering costs — higher is better
+
+redis / sequenced (fifo): failed to run — absent, not zero; see failures[] in the results document
+
+
+inmemory, kafka, rabbitmq / sequenced (fifo): lower bound (muted bar) — this window cannot separate setup from drain,
+
+
+so the true rate is at least the bar shown
+
+
+kafka / parallel: measured at 2 workers (no worker count is shared by the measured modes, so the bars are not directly
+
-inmemory, kafka / sequenced (fifo): lower bound (muted bar) — this window cannot separate setup from drain, so the
+comparable)
-true rate is at least the bar shown
+rabbitmq / sequenced (fifo): measured at 8 workers (no worker count is shared by the measured modes, so the bars are
-kafka / parallel: measured at 2 workers (no worker count is shared by the measured modes, so the bars are not directly
+not directly comparable)
-comparable)
+inmemory / sequenced (fifo): measured at 8 workers (the least-parallel count the measured modes share)
-inmemory / sequenced (fifo): measured at 8 workers (the least-parallel count the measured modes share)
+inmemory / parallel, batch: measured, but every window under 1 s — too short to publish as a rate, even a lower bound
-inmemory / parallel, batch: measured, but every window under 1 s — too short to publish as a rate, even a lower bound
+batch bars: up to 500 messages or 250 ms per batch
-batch bars: up to 500 messages or 250 ms per batch
+drain (inmemory, kafka, rabbitmq, redis): each consume_batch / consume_parallel point is the processing rate of the
-drain (inmemory, kafka): each consume_batch / consume_parallel point is the processing rate of the consumers from the
+consumers from the moment every worker was assigned until 90 % of a corpus of 49k messages, published before they
-moment every worker was assigned until 90 % of a corpus of 49k messages, published before they started, had been
+started, had been consumed; no producer ran in the window
-consumed; no producer ran in the window
+inmemory: 1 cell in this slice failed to run — absent, not zero; see failures[]
-inmemory: 1 cell in this slice failed to run — absent, not zero; see failures[]
+rabbitmq, redis: 2 cells in this slice failed to run — absent, not zero; see failures[]
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
messages / second
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
0.0
-
-
+
+
5.0k
-
-
+
+
10k
-
-
+
+
15k
-
-
+
+
20k
-
-
+
+
25k
-
-
+
+
30k
-
-
+
+
35k
-
-
+
+
40k
-
-
+
+
45k
-
-
+
+
n/s
-
-
-
-
-
+
+
+
+
+
≥30k
-
+
n/s
-
-
-
-
-
+
+
+
+
+
41k
-
-
-
-
-
+
+
+
+
+
≥1.5k
-
-
-
-
-
+
+
+
+
+
30k
-
+
+
+
+
+
+1.4k
+
+
+
+
+
+
+≥3.2k
+
+
+
+
+
+
+4.3k
+
+
+
+
+
+
+7.1k
+
+
+n/s
+
+
+
+
+
+
+17k
+
+
inmemory
-
+
kafka
-
+
+rabbitmq
+
+
+redis
+
+
backend
diff --git a/docs/public/bench/parallel-vs-sequenced-64kib.svg b/docs/public/bench/parallel-vs-sequenced-64kib.svg
index bf98fd50..172ba4bd 100644
--- a/docs/public/bench/parallel-vs-sequenced-64kib.svg
+++ b/docs/public/bench/parallel-vs-sequenced-64kib.svg
@@ -7,143 +7,199 @@ Parallel vs sequenced consume
64 KiB payload — least-parallel measurement per mode — what ordering costs — higher is better
+
+redis / sequenced (fifo): failed to run — absent, not zero; see failures[] in the results document
+
+
+inmemory, kafka, rabbitmq / sequenced (fifo): lower bound (muted bar) — this window cannot separate setup from drain,
+
+
+so the true rate is at least the bar shown
+
+
+kafka / parallel: measured at 2 workers (no worker count is shared by the measured modes, so the bars are not directly
+
-inmemory, kafka / sequenced (fifo): lower bound (muted bar) — this window cannot separate setup from drain, so the
+comparable)
-true rate is at least the bar shown
+rabbitmq / sequenced (fifo): measured at 8 workers (no worker count is shared by the measured modes, so the bars are
-kafka / parallel: measured at 2 workers (no worker count is shared by the measured modes, so the bars are not directly
+not directly comparable)
-comparable)
+inmemory / sequenced (fifo): measured at 8 workers (the least-parallel count the measured modes share)
-inmemory / sequenced (fifo): measured at 8 workers (the least-parallel count the measured modes share)
+inmemory / parallel, batch: measured, but every window under 1 s — too short to publish as a rate, even a lower bound
-inmemory / parallel, batch: measured, but every window under 1 s — too short to publish as a rate, even a lower bound
+batch bars: up to 500 messages or 250 ms per batch
-batch bars: up to 500 messages or 250 ms per batch
+drain (inmemory, kafka, rabbitmq, redis): each consume_batch / consume_parallel point is the processing rate of the
-drain (inmemory, kafka): each consume_batch / consume_parallel point is the processing rate of the consumers from the
+consumers from the moment every worker was assigned until 90 % of a corpus of 49k messages, published before they
-moment every worker was assigned until 90 % of a corpus of 49k messages, published before they started, had been
+started, had been consumed; no producer ran in the window
-consumed; no producer ran in the window
+inmemory: 1 cell in this slice failed to run — absent, not zero; see failures[]
-inmemory: 1 cell in this slice failed to run — absent, not zero; see failures[]
+rabbitmq, redis: 2 cells in this slice failed to run — absent, not zero; see failures[]
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
messages / second
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
0.0
-
-
+
+
5.0k
-
-
+
+
10k
-
-
+
+
15k
-
-
+
+
20k
-
-
+
+
25k
-
-
+
+
30k
-
-
+
+
35k
-
-
+
+
40k
-
-
+
+
45k
-
-
+
+
n/s
-
-
-
-
-
+
+
+
+
+
≥30k
-
+
n/s
-
-
-
-
-
+
+
+
+
+
41k
-
-
-
-
-
+
+
+
+
+
≥1.5k
-
-
-
-
-
+
+
+
+
+
30k
-
+
+
+
+
+
+1.4k
+
+
+
+
+
+
+≥3.2k
+
+
+
+
+
+
+4.3k
+
+
+
+
+
+
+7.1k
+
+
+n/s
+
+
+
+
+
+
+17k
+
+
inmemory
-
+
kafka
-
+
+rabbitmq
+
+
+redis
+
+
backend
diff --git a/docs/public/bench/parallel-vs-sequenced-dark.svg b/docs/public/bench/parallel-vs-sequenced-dark.svg
index a54c5e37..fde9c02b 100644
--- a/docs/public/bench/parallel-vs-sequenced-dark.svg
+++ b/docs/public/bench/parallel-vs-sequenced-dark.svg
@@ -7,111 +7,163 @@ Parallel vs sequenced consume
64 B payload — least-parallel measurement per mode — what ordering costs — higher is better
+
+redis / sequenced (fifo): failed to run — absent, not zero; see failures[] in the results document
+
+
+kafka, rabbitmq / sequenced (fifo): lower bound (muted bar) — this window cannot separate setup from drain, so the
+
+
+true rate is at least the bar shown
+
+
+redis / parallel, batch: measured at 2 workers (the least-parallel count the measured modes share)
+
+
+rabbitmq / parallel, sequenced (fifo), batch: measured at 8 workers (the least-parallel count the measured modes
+
-kafka / sequenced (fifo): lower bound (muted bar) — this window cannot separate setup from drain, so the true rate is
+share)
-at least the bar shown
+inmemory / sequenced (fifo): measured, but every window under 1 s — too short to publish as a rate, even a lower bound
-inmemory / sequenced (fifo): measured, but every window under 1 s — too short to publish as a rate, even a lower bound
+batch bars: up to 500 messages or 250 ms per batch
-batch bars: up to 500 messages or 250 ms per batch
+drain (inmemory, kafka, rabbitmq, redis): each consume_batch / consume_parallel point is the processing rate of the
-drain (inmemory, kafka): each consume_batch / consume_parallel point is the processing rate of the consumers from the
+consumers from the moment every worker was assigned until 90 % of a corpus of 6.0M messages, published before they
-moment every worker was assigned until 90 % of a corpus of 6.0M messages, published before they started, had been
+started, had been consumed; no producer ran in the window
-consumed; no producer ran in the window
+redis: 2 cells in this slice failed to run — absent, not zero; see failures[]
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
messages / second
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
0.0
-
-
+
+
500k
-
-
+
+
1.0M
-
-
+
+
1.5M
-
-
+
+
2.0M
-
-
+
+
2.5M
-
-
-
-
-
-
+
+
+
+
+
+
654k
-
+
n/s
-
-
-
-
-
+
+
+
+
+
2.5M
-
-
-
-
-
+
+
+
+
+
114k
-
+
≥1.6k
-
-
-
-
-
+
+
+
+
+
112k
-
+
+
+
+
+
+26k
+
+
+≥2.4k
+
+
+
+
+
+
+33k
+
+
+
+20k
+
+
+n/s
+
+
+
+
+
+
+311k
+
+
inmemory
-
+
kafka
-
+
+rabbitmq
+
+
+redis
+
+
backend
diff --git a/docs/public/bench/parallel-vs-sequenced.svg b/docs/public/bench/parallel-vs-sequenced.svg
index ecde6fe8..98e70af1 100644
--- a/docs/public/bench/parallel-vs-sequenced.svg
+++ b/docs/public/bench/parallel-vs-sequenced.svg
@@ -7,111 +7,163 @@ Parallel vs sequenced consume
64 B payload — least-parallel measurement per mode — what ordering costs — higher is better
+
+redis / sequenced (fifo): failed to run — absent, not zero; see failures[] in the results document
+
+
+kafka, rabbitmq / sequenced (fifo): lower bound (muted bar) — this window cannot separate setup from drain, so the
+
+
+true rate is at least the bar shown
+
+
+redis / parallel, batch: measured at 2 workers (the least-parallel count the measured modes share)
+
+
+rabbitmq / parallel, sequenced (fifo), batch: measured at 8 workers (the least-parallel count the measured modes
+
-kafka / sequenced (fifo): lower bound (muted bar) — this window cannot separate setup from drain, so the true rate is
+share)
-at least the bar shown
+inmemory / sequenced (fifo): measured, but every window under 1 s — too short to publish as a rate, even a lower bound
-inmemory / sequenced (fifo): measured, but every window under 1 s — too short to publish as a rate, even a lower bound
+batch bars: up to 500 messages or 250 ms per batch
-batch bars: up to 500 messages or 250 ms per batch
+drain (inmemory, kafka, rabbitmq, redis): each consume_batch / consume_parallel point is the processing rate of the
-drain (inmemory, kafka): each consume_batch / consume_parallel point is the processing rate of the consumers from the
+consumers from the moment every worker was assigned until 90 % of a corpus of 6.0M messages, published before they
-moment every worker was assigned until 90 % of a corpus of 6.0M messages, published before they started, had been
+started, had been consumed; no producer ran in the window
-consumed; no producer ran in the window
+redis: 2 cells in this slice failed to run — absent, not zero; see failures[]
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
messages / second
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
0.0
-
-
+
+
500k
-
-
+
+
1.0M
-
-
+
+
1.5M
-
-
+
+
2.0M
-
-
+
+
2.5M
-
-
-
-
-
-
+
+
+
+
+
+
654k
-
+
n/s
-
-
-
-
-
+
+
+
+
+
2.5M
-
-
-
-
-
+
+
+
+
+
114k
-
+
≥1.6k
-
-
-
-
-
+
+
+
+
+
112k
-
+
+
+
+
+
+26k
+
+
+≥2.4k
+
+
+
+
+
+
+33k
+
+
+
+20k
+
+
+n/s
+
+
+
+
+
+
+311k
+
+
inmemory
-
+
kafka
-
+
+rabbitmq
+
+
+redis
+
+
backend
diff --git a/docs/public/bench/throughput-vs-consumers-1kib-dark.svg b/docs/public/bench/throughput-vs-consumers-1kib-dark.svg
index 1611abc1..270fb48a 100644
--- a/docs/public/bench/throughput-vs-consumers-1kib-dark.svg
+++ b/docs/public/bench/throughput-vs-consumers-1kib-dark.svg
@@ -8,22 +8,22 @@ Throughput vs consumer count
consume_parallel — 1 KiB payload — higher is better
-drain (inmemory, kafka): each consume_parallel point is the processing rate of the consumers from the moment every
+drain (inmemory, kafka, rabbitmq, redis): each consume_parallel point is the processing rate of the consumers from the
-worker was assigned until 90 % of a corpus of 3.1M messages, published before they started, had been consumed; no
+moment every worker was assigned until 90 % of a corpus of 3.1M messages, published before they started, had been
-producer ran in the window
+consumed; no producer ran in the window
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
messages / second — log scale
@@ -126,6 +126,8 @@ messages / second — log scale
+
+
@@ -142,6 +144,22 @@ messages / second — log scale
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
kafka
@@ -150,6 +168,14 @@ kafka
inmemory
+
+
+redis
+
+
+
+rabbitmq
+
1
@@ -173,4 +199,12 @@ inmemory
kafka
+
+
+rabbitmq
+
+
+
+redis
+
diff --git a/docs/public/bench/throughput-vs-consumers-1kib.svg b/docs/public/bench/throughput-vs-consumers-1kib.svg
index 6ef27988..584654a0 100644
--- a/docs/public/bench/throughput-vs-consumers-1kib.svg
+++ b/docs/public/bench/throughput-vs-consumers-1kib.svg
@@ -8,22 +8,22 @@ Throughput vs consumer count
consume_parallel — 1 KiB payload — higher is better
-drain (inmemory, kafka): each consume_parallel point is the processing rate of the consumers from the moment every
+drain (inmemory, kafka, rabbitmq, redis): each consume_parallel point is the processing rate of the consumers from the
-worker was assigned until 90 % of a corpus of 3.1M messages, published before they started, had been consumed; no
+moment every worker was assigned until 90 % of a corpus of 3.1M messages, published before they started, had been
-producer ran in the window
+consumed; no producer ran in the window
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
messages / second — log scale
@@ -126,6 +126,8 @@ messages / second — log scale
+
+
@@ -142,6 +144,22 @@ messages / second — log scale
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
kafka
@@ -150,6 +168,14 @@ kafka
inmemory
+
+
+redis
+
+
+
+rabbitmq
+
1
@@ -173,4 +199,12 @@ inmemory
kafka
+
+
+rabbitmq
+
+
+
+redis
+
diff --git a/docs/public/bench/throughput-vs-consumers-64kib-dark.svg b/docs/public/bench/throughput-vs-consumers-64kib-dark.svg
index f98354f4..c2a82c38 100644
--- a/docs/public/bench/throughput-vs-consumers-64kib-dark.svg
+++ b/docs/public/bench/throughput-vs-consumers-64kib-dark.svg
@@ -7,76 +7,158 @@ Throughput vs consumer count
consume_parallel — 64 KiB payload — higher is better
-
+
inmemory: measured, but no drain rate is published for this slice — window under 1 s, too short to publish as a rate
-
+
at consumers 1, 2, 4, 8
-
+
kafka: partial — not plotted: window under 1 s, too short to publish as a rate at consumers 1, 4, 8
+
+rabbitmq: partial — not plotted: failed to run — absent, not zero; see failures[] in the results document (a failed
+
+
+drain; the cell's ladder rungs are not its ceiling) at consumers 8
+
+
+drain (inmemory, kafka, rabbitmq, redis): each consume_parallel point is the processing rate of the consumers from the
+
-drain (inmemory, kafka): each consume_parallel point is the processing rate of the consumers from the moment every
+moment every worker was assigned until 90 % of a corpus of 49k messages, published before they started, had been
-worker was assigned until 90 % of a corpus of 49k messages, published before they started, had been consumed; no
+consumed; no producer ran in the window
-producer ran in the window
+rabbitmq, redis: 1 cell in this slice failed to run — absent, not zero; see failures[]
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
messages / second — log scale
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1.0k
+
+
+
+2.0k
+
+
+
+3.0k
+
+
+
+4.0k
+
+
+
+5.0k
+
+
+
+6.0k
+
+
+
+7.0k
+
+
+
+8.0k
+
+
+
+9.0k
+
+
+
+10k
+
+
+
10k
-
-
+
+
20k
-
-
+
+
30k
-
-
+
+
40k
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
kafka
-
+
+rabbitmq
+
+
+
+redis
+
+
1
-
+
2
-
+
4
-
+
8
-
+
consumers
@@ -87,4 +169,12 @@ inmemory (withheld)
kafka (single point)
+
+
+rabbitmq
+
+
+
+redis
+
diff --git a/docs/public/bench/throughput-vs-consumers-64kib.svg b/docs/public/bench/throughput-vs-consumers-64kib.svg
index e4e9d0fd..604745ff 100644
--- a/docs/public/bench/throughput-vs-consumers-64kib.svg
+++ b/docs/public/bench/throughput-vs-consumers-64kib.svg
@@ -7,76 +7,158 @@ Throughput vs consumer count
consume_parallel — 64 KiB payload — higher is better
-
+
inmemory: measured, but no drain rate is published for this slice — window under 1 s, too short to publish as a rate
-
+
at consumers 1, 2, 4, 8
-
+
kafka: partial — not plotted: window under 1 s, too short to publish as a rate at consumers 1, 4, 8
+
+rabbitmq: partial — not plotted: failed to run — absent, not zero; see failures[] in the results document (a failed
+
+
+drain; the cell's ladder rungs are not its ceiling) at consumers 8
+
+
+drain (inmemory, kafka, rabbitmq, redis): each consume_parallel point is the processing rate of the consumers from the
+
-drain (inmemory, kafka): each consume_parallel point is the processing rate of the consumers from the moment every
+moment every worker was assigned until 90 % of a corpus of 49k messages, published before they started, had been
-worker was assigned until 90 % of a corpus of 49k messages, published before they started, had been consumed; no
+consumed; no producer ran in the window
-producer ran in the window
+rabbitmq, redis: 1 cell in this slice failed to run — absent, not zero; see failures[]
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
-
+
messages / second — log scale
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1.0k
+
+
+
+2.0k
+
+
+
+3.0k
+
+
+
+4.0k
+
+
+
+5.0k
+
+
+
+6.0k
+
+
+
+7.0k
+
+
+
+8.0k
+
+
+
+9.0k
+
+
+
+10k
+
+
+
10k
-
-
+
+
20k
-
-
+
+
30k
-
-
+
+
40k
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
kafka
-
+
+rabbitmq
+
+
+
+redis
+
+
1
-
+
2
-
+
4
-
+
8
-
+
consumers
@@ -87,4 +169,12 @@ inmemory (withheld)
kafka (single point)
+
+
+rabbitmq
+
+
+
+redis
+
diff --git a/docs/public/bench/throughput-vs-consumers-dark.svg b/docs/public/bench/throughput-vs-consumers-dark.svg
index fd175c08..f91d6008 100644
--- a/docs/public/bench/throughput-vs-consumers-dark.svg
+++ b/docs/public/bench/throughput-vs-consumers-dark.svg
@@ -8,98 +8,174 @@ Throughput vs consumer count
consume_parallel — 64 B payload — higher is better
-drain (inmemory, kafka): each consume_parallel point is the processing rate of the consumers from the moment every
+drain (inmemory, kafka, rabbitmq, redis): each consume_parallel point is the processing rate of the consumers from the
-worker was assigned until 90 % of a corpus of 6.0M messages, published before they started, had been consumed; no
+moment every worker was assigned until 90 % of a corpus of 6.0M messages, published before they started, had been
-producer ran in the window
+consumed; no producer ran in the window
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
messages / second — log scale
-
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
-
-
+
+
+
+
-100k
+10k
-
-200k
+
+20k
+
+
+
+30k
+
+
+
+40k
+
+
+
+50k
+
+
+
+60k
+
+
+
+70k
-
+
+
+80k
+
+
-300k
+90k
-
+
+100k
+
+
+
+100k
+
+
+
+200k
+
+
+
+300k
+
+
+
400k
-
-
+
+
500k
-
-
+
+
600k
-
-
+
+
700k
-
-
+
+
800k
-
-
+
+
900k
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
kafka
-
-
+
+
inmemory
+
+
+rabbitmq
+
+
+
+redis
+
1
@@ -123,4 +199,12 @@ inmemory
kafka
+
+
+rabbitmq
+
+
+
+redis
+
diff --git a/docs/public/bench/throughput-vs-consumers.svg b/docs/public/bench/throughput-vs-consumers.svg
index 3dd6883e..7d461deb 100644
--- a/docs/public/bench/throughput-vs-consumers.svg
+++ b/docs/public/bench/throughput-vs-consumers.svg
@@ -8,98 +8,174 @@ Throughput vs consumer count
consume_parallel — 64 B payload — higher is better
-drain (inmemory, kafka): each consume_parallel point is the processing rate of the consumers from the moment every
+drain (inmemory, kafka, rabbitmq, redis): each consume_parallel point is the processing rate of the consumers from the
-worker was assigned until 90 % of a corpus of 6.0M messages, published before they started, had been consumed; no
+moment every worker was assigned until 90 % of a corpus of 6.0M messages, published before they started, had been
-producer ran in the window
+consumed; no producer ran in the window
-Generated 2026-09-04T13:16:16Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
+Generated 2026-09-07T13:47:38Z — shove 0.14.0 — Apple M4 Max (16c / 64 GB)
Apple M4 Max — 16 cores — 64 GB RAM — macOS 26.6.2 — rustc 1.91.1 (ed61e7d7e 2025-11-07) — handler: zero (no-op)
-1 recorded failure(s) in the dataset — see failures[]
+9 recorded failure(s) in the dataset — see failures[]
messages / second — log scale
-
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
-
-
+
+
+
+
-100k
+10k
-
-200k
+
+20k
+
+
+
+30k
+
+
+
+40k
+
+
+
+50k
+
+
+
+60k
+
+
+
+70k
-
+
+
+80k
+
+
-300k
+90k
-
+
+100k
+
+
+
+100k
+
+
+
+200k
+
+
+
+300k
+
+
+
400k
-
-
+
+
500k
-
-
+
+
600k
-
-
+
+
700k
-
-
+
+
800k
-
-
+