Skip to content

fulmine: gateway-h3 edge on nginx with QUIC, and the HTTP/2 profiles - #1665

Merged
MDA2AV merged 7 commits into
MDA2AV:mainfrom
nigrosimone:fulmine-h3-nginx
Oct 31, 2026
Merged

MDA2AV merged 7 commits into
MDA2AV:mainfrom
nigrosimone:fulmine-h3-nginx

Conversation

@nigrosimone

@nigrosimone nigrosimone commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

The gateway-h3 edge of fulmine moves from Caddy to stock nginx:1.27-alpine with http3 on and a quic reuseport listen, the same edge gateway-64 already uses plus QUIC.

Behind Caddy every entry lands at 56-63k at 256 connections, whatever the backend, and the number changes a lot between runs: in #1648 run 1 was 79.7k and runs 2 and 3 were 56-57k. anole and plod use nginx here and get 157k and 200k.

worker_processes is set to the cpuset size at start (nproc), as anole does. Checked locally: nginx -t passes, and h3 requests to /static and to the server answer 200.

Second commit: fulmine joins the HTTP/2 profiles (baseline-h2, static-h2, baseline-h2c, json-h2c). uWS has no HTTP/2, so with fulmine 5.26.0 the same app is handed to node:http2 with its defaults, h2 on :8443 and h2c on :8082, one socket per worker with SO_REUSEPORT. validate.sh keeps that container up beside the gateway stacks, so the three nginx edges now listen on 127.0.0.1:8443 and [::1]:8443, as anole, plod and libuvcpp do.

Only frameworks/fulmine/ changes.

@nigrosimone

This comment was marked as outdated.

@github-actions

Copy link
Copy Markdown
Contributor

👋 Benchmark request received. A collaborator will review and approve the run.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: fulmine | Test: gateway-h3

Test Conn RPS CPU Mem Δ RPS Δ Mem
gateway-h3 64 195,271 4665.8% 4.3GiB +136.3% +26.5%
gateway-h3 256 197,207 5070.1% 4.6GiB +148.1% +100.0%

Composite score, main against this run, in the board's default view:

Family main this run Δ
HTTP/1.1 6362.9 (#7 of 102) 6362.9 (#7 of 102) +0.0
Gateway 2425.4 (#2 of 9) 2425.4 (#1 of 9) +0.0
WebSocket 2383.1 (#4 of 35) 2383.1 (#4 of 35) +0.0

The results on main were measured in another session, so a few points up or down can be the machine and not the change.

Full log

#13 [server build 4/6] WORKDIR /app
#13 CACHED

#14 [server build 6/6] RUN npm install --omit=dev
#14 CACHED

#15 [server stage-1 5/6] COPY app.js .
#15 CACHED

#16 [server build 3/6] RUN git config --global url."https://github.com/".insteadOf "ssh://git@github.com/"
#16 CACHED

#17 [server stage-1 3/6] WORKDIR /app
#17 CACHED

#18 [server stage-1 2/6] RUN apt-get update &&     apt-get install -y --no-install-recommends ca-certificates curl libpq5 &&     rm -rf /var/lib/apt/lists/*
#18 CACHED

#19 [server build 2/6] RUN apt-get update &&     apt-get install -y --no-install-recommends ca-certificates git python3 make g++ libpq-dev &&     rm -rf /var/lib/apt/lists/*
#19 CACHED

#20 [server build 5/6] COPY package.json .
#20 CACHED

#21 [server stage-1 6/6] COPY views ./views
#21 CACHED

#8 [proxy internal] load build context
#8 transferring context: 62B done
#8 DONE 0.0s

#22 [server] exporting to image
#22 exporting layers done
#22 exporting manifest sha256:efe45620e82d492f2393a02b7ad725daa7b695b06ce7b55753a17ad37f502bff done
#22 exporting config sha256:35558d24ee582707f184e07c9382b1c8efbc64d245938dbb0cc6378d426322b6 0.0s done
#22 exporting attestation manifest sha256:fbfd7b028611d1628f22fe0b8778b8ecf5b6d812073315eff2271ea372e16432
#22 ...

#23 [proxy 3/4] COPY workers.sh /docker-entrypoint.d/30-workers.sh
#23 CACHED

#24 [proxy 2/4] COPY nginx.conf /etc/nginx/nginx.conf
#24 CACHED

#25 [proxy 4/4] RUN chmod +x /docker-entrypoint.d/30-workers.sh
#25 CACHED

#22 [server] exporting to image
#22 exporting attestation manifest sha256:fbfd7b028611d1628f22fe0b8778b8ecf5b6d812073315eff2271ea372e16432 0.1s done
#22 exporting manifest list sha256:ae716db9f981daeb1c15733b803e74f014867cc6fb525c41fa1cebd8d3460143 0.0s done
#22 naming to docker.io/library/httparena-fulmine-gateway-h3-server:latest
#22 naming to docker.io/library/httparena-fulmine-gateway-h3-server:latest 0.0s done
#22 unpacking to docker.io/library/httparena-fulmine-gateway-h3-server:latest 0.0s done
#22 DONE 0.3s

#26 [proxy] exporting to image
#26 exporting layers done
#26 exporting manifest sha256:0fa00bc05308ecf1a41b49cc7a013edfb6a854ee7938e0894a0cddd2b7e5dbe2 0.0s done
#26 exporting config sha256:42080979be9d910a9db87b857cd4ea820b853d4b55c7aa1161550e84c642b60b 0.0s done
#26 exporting attestation manifest sha256:951558dfb11321071d90d0250d919c6d7fbb411ce5637512688505340e0d236a 0.1s done
#26 exporting manifest list sha256:4c669c7ec1d6a64662f3c4612ca4646cf41fd27384c29f627bd3f77f8c31d303 0.0s done
#26 naming to docker.io/library/httparena-fulmine-gateway-h3-proxy:latest 0.0s done
#26 unpacking to docker.io/library/httparena-fulmine-gateway-h3-proxy:latest
#26 unpacking to docker.io/library/httparena-fulmine-gateway-h3-proxy:latest 0.0s done
#26 DONE 0.3s

#27 [server] resolving provenance for metadata file
#27 DONE 0.0s

#28 [proxy] resolving provenance for metadata file
#28 DONE 0.0s
 Image httparena-fulmine-gateway-h3-server Built 
 Image httparena-fulmine-gateway-h3-proxy Built 
 Container httparena-fulmine-gateway-h3-server-1 Creating 
 Container httparena-fulmine-gateway-h3-server-1 Created 
 Container httparena-fulmine-gateway-h3-proxy-1 Creating 
 Container httparena-fulmine-gateway-h3-proxy-1 Created 
 Container httparena-fulmine-gateway-h3-server-1 Starting 
 Container httparena-fulmine-gateway-h3-server-1 Started 
 Container httparena-fulmine-gateway-h3-proxy-1 Starting 
 Container httparena-fulmine-gateway-h3-proxy-1 Started 
[info] gateway containers: 2 (d6c83bc2fa0c 0a0c3000995d )
[info] waiting for server...
[info] server ready

[run 1/3]
starting benchmark...
.
TLS Protocol: TLSv1.3
Cipher: TLS_AES_128_GCM_SHA256
Server Temp Key: X25519 253 bits
Certificate: RSA 2048 bits
Negotiated Group: x25519
Resumption: no
Application protocol: h3
. Stopping all clients.
43. Stopping all clients.
. Stopping all clients.Stopped all clients for thread #25


finished in 5.03s, 196946.20 req/s, 2.37GB/s
requests: 984731 total, 992923 started, 984731 done, 984731 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 985000 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 11.83GB (12701864309) total, 110.89MB (116280838) headers (space savings 36.10%), 11.71GB (12576594306) data
UDP datagram: 2753949 sent, 8978121 received
                 min         max         median     p95        p99        mean         sd        +/- sd
request     :      105us       2.29s     33.29ms   103.66ms   183.16ms    41.88ms     38.94ms    90.91%
connect     :     5.52ms     35.80ms     14.24ms    23.43ms    31.00ms    15.08ms      5.38ms    69.14%
TTFB        :     9.22ms     60.34ms     27.42ms    45.73ms    55.30ms    28.59ms      9.42ms    69.14%
req/s       :     250.19     3157.17      669.31    1318.38    1670.99     769.24      327.89    86.33%
min RTT     :        0us     17.93ms      1.97ms     7.73ms    10.09ms     2.82ms      2.98ms    82.03%
smoothed RTT:     1.63ms    333.00ms     15.82ms    20.09ms    21.96ms    16.52ms     20.14ms    99.61%
packets sent:       3423       46249        9580      18356      23669   10759.61     4724.43    84.77%
packets recv:      11536      143257       30527      60066      76003   35071.79    14863.86    86.33%
packets lost:          0         146         119        137        140     112.79       24.04    82.81%
GRO packets :          1           1           1          1          1       1.00        0.00   100.00%
[info] CPU 5546.7% | Mem 4.2GiB
[info]   server: 2269% 2.9GiB | proxy: 3277% 1.3GiB

[run 2/3]
starting benchmark...



TLS Protocol: TLSv1.3
Cipher: TLS_AES_128_GCM_SHA256
Server Temp Key: X25519 253 bits
Certificate: RSA 2048 bits
Negotiated Group: x25519
Resumption: no
Application protocol: h3

30. Stopping all clients.


finished in 5.03s, 198334.60 req/s, 2.38GB/s
requests: 991673 total, 999865 started, 991673 done, 991673 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 991953 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 11.91GB (12790376200) total, 111.68MB (117100081) headers (space savings 36.10%), 11.79GB (12664391367) data
UDP datagram: 2766614 sent, 9046880 received
                 min         max         median     p95        p99        mean         sd        +/- sd
request     :     1.27ms       2.08s     33.72ms    93.77ms   158.81ms    41.58ms     40.78ms    93.11%
connect     :     3.08ms     27.14ms     13.31ms    24.51ms    26.17ms    14.25ms      5.37ms    66.02%
TTFB        :     6.43ms     51.70ms     25.16ms    42.90ms    48.49ms    26.63ms      9.40ms    66.80%
req/s       :     299.54     3412.89      730.05    1209.64    1398.83     774.65      322.20    84.38%
min RTT     :      180us     12.58ms      5.14ms     7.84ms     9.38ms     4.94ms      2.00ms    67.19%
smoothed RTT:     3.89ms     20.85ms     15.34ms    19.45ms    20.67ms    15.10ms      3.00ms    64.45%
packets sent:       3998       44285       10086      16997      20557   10809.09     4414.41    81.64%
packets recv:      13830      154852       33355      54982      63623   35340.38    14609.31    84.38%
packets lost:          0         150         125        144        149     119.23       22.07    78.52%
GRO packets :          1           1           1          1          1       1.00        0.00   100.00%
[info] CPU 5070.1% | Mem 4.6GiB
[info]   server: 1846% 3.2GiB | proxy: 3224% 1.4GiB

[run 3/3]
starting benchmark...


29.
.Main benchmark duration is started for thread #34.

TLS Protocol: TLSv1.3
Cipher: TLS_AES_128_GCM_SHA256
Server Temp Key: X25519 253 bits
Certificate: RSA 2048 bits
Negotiated Group: x25519
Resumption: no
Application protocol: h3
1.Main benchmark duration is started for thread #7.


finished in 5.03s, 198058.40 req/s, 2.38GB/s
requests: 990292 total, 998484 started, 990292 done, 990292 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 990568 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 11.90GB (12773244045) total, 111.52MB (116939244) headers (space savings 36.10%), 11.78GB (12647418648) data
UDP datagram: 2908133 sent, 9036647 received
                 min         max         median     p95        p99        mean         sd        +/- sd
request     :     1.68ms       2.47s     33.86ms    97.93ms   170.26ms    41.73ms     42.90ms    92.86%
connect     :     3.21ms     33.58ms     13.92ms    23.36ms    29.97ms    14.06ms      5.03ms    69.92%
TTFB        :     7.42ms     54.29ms     24.53ms    43.66ms    51.88ms    26.09ms      9.24ms    68.36%
req/s       :      21.60     3554.17      679.01    1584.92    2392.54     773.58      385.66    85.16%
min RTT     :      102us     14.11ms      5.02ms     7.98ms     9.34ms     4.84ms      2.07ms    68.36%
smoothed RTT:     2.03ms     22.34ms     15.27ms    19.63ms    21.16ms    14.90ms      3.24ms    71.09%
packets sent:        469       52087       10123      20820      35651   11361.89     5534.46    84.38%
packets recv:       1253      161522       30979      72119     108624   35300.40    17483.71    85.16%
packets lost:          0         162         133        149        157     124.69       27.64    87.89%
GRO packets :          1           1           1          1          1       1.00        0.00   100.00%
[info] CPU 5009.3% | Mem 4.7GiB
[info]   server: 1736% 3.3GiB | proxy: 3273% 1.4GiB

=== Best: 197207 req/s (CPU: 5070.1%, Mem: 4.6GiB) ===
[info] saved results/gateway-h3/256/fulmine.json
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/results/fulmine.js.json - 2 new, 28 total
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
httparena-postgres
[info] restoring loopback MTU to 65536

@nigrosimone
nigrosimone marked this pull request as ready for review October 27, 2026 17:09
@nigrosimone

This comment was marked as outdated.

@nigrosimone nigrosimone changed the title fulmine: gateway-h3 edge on stock nginx with QUIC instead of Caddy fulmine: gateway-h3 edge on nginx with QUIC, and the HTTP/2 profiles Oct 29, 2026
@nigrosimone

This comment was marked as outdated.

@github-actions

Copy link
Copy Markdown
Contributor

👋 Benchmark request received. A collaborator will review and approve the run.

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ /benchmark --save cannot start: main has diverged and cannot be auto-merged into this branch. Please merge or rebase main manually, push, and re-run /benchmark --save.

@nigrosimone

Copy link
Copy Markdown
Contributor Author

/benchmark -f fulmine --save

@github-actions

Copy link
Copy Markdown
Contributor

👋 Benchmark request received. A collaborator will review and approve the run.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: fulmine | Test: all tests

Test Conn RPS Rate CPU/req p99 p99.9 CPU Mem Δ RPS Δ Mem
baseline 4096 1,990,740 — — — — 6759.4% 2.1GiB +0.1% -16.0%
pipelined 4096 32,558,742 — — — — 6379.5% 1.5GiB +0.5% -21.1%
limited-conn 4096 1,771,880 — — — — 6312.9% 2.1GiB +0.2% -16.0%
json-comp 4096 426,216 — — — — 6268.0% 7.0GiB +0.2% -4.1%
json-comp 16384 423,792 — — — — 6190.6% 7.8GiB -0.1% -4.9%
json-tls 4096 1,213,873 — — — — 6406.2% 2.1GiB +6.2% -67.7%
8gbit 512 49,372 0.9874 63.35us 147.0us 5282.0us 309.0% 2.3GiB +0.2% -14.8%
static-tls 1024 708,106 — — — — 6565.4% 3.3GiB -0.7% +6.5%
async-db 1024 214,728 — — — — 5706.8% 3.0GiB -2.3% -16.7%
fortunes 1024 68,395 — — — — 6498.0% 3.6GiB +1.6% -10.0%
baseline-h2 256 955,892 — — — — 6375.2% 9.8GiB NEW NEW
baseline-h2 1024 832,470 — — — — 6406.8% 11.9GiB NEW NEW
static-h2 256 352,831 — — — — 6340.7% 9.4GiB NEW NEW
static-h2 1024 324,467 — — — — 6483.6% 11.9GiB NEW NEW
baseline-h2c 256 1,092,803 — — — — 6282.8% 10.5GiB NEW NEW
baseline-h2c 1024 972,114 — — — — 6460.7% 12.3GiB NEW NEW
baseline-h2c 4096 767,925 — — — — 6596.6% 17.6GiB NEW NEW
json-h2c 1024 739,009 — — — — 6400.2% 10.8GiB NEW NEW
json-h2c 4096 591,554 — — — — 6430.3% 13.1GiB NEW NEW
gateway-64 512 233,639 — — — — 4724.0% 4.6GiB -9.3% -2.1%
gateway-64 1024 224,338 — — — — 4903.2% 5.2GiB -8.9% -1.9%
gateway-h3 64 186,037 — — — — 4542.3% 4.2GiB +125.1% +23.5%
gateway-h3 256 192,890 — — — — 5107.1% 4.6GiB +142.7% +100.0%
production-stack 256 129,796 — — — — 3143.8% 3.3GiB +1.3% -8.3%
production-stack 1024 109,478 — — — — 2751.5% 3.8GiB +3.8% -9.5%
echo-ws 512 3,746,798 — — — — 6512.7% 1.8GiB +0.1% -14.3%
echo-ws 4096 3,818,148 — — — — 6526.2% 1.8GiB -0.2% -14.3%
echo-ws 16384 3,567,134 — — — — 6140.8% 1.9GiB -0.4% -13.6%
echo-ws-pipeline 512 25,929,427 — — — — 6722.8% 1.8GiB -1.7% -14.3%
echo-ws-pipeline 4096 25,957,948 — — — — 6502.5% 1.8GiB -1.4% -18.2%
echo-ws-pipeline 16384 24,556,236 — — — — 6256.6% 2.0GiB -0.6% -13.0%
echo-ws-limited 512 2,075,909 — — — — 5447.7% 1.8GiB -1.2% -14.3%
echo-ws-limited 4096 2,521,224 — — — — 5933.1% 1.8GiB -0.6% -18.2%
latency-1m 1024 998,195 0.9982 29.43us 222.0us 5434.0us 3244.0% 2.0GiB ~0% -16.7%
latency-10k 1024 9,980 0.9980 36.37us 118.0us 709.0us 35.3% 1.6GiB ~0% -20.0%
latency-500k-8cpu 1024 389,093 0.7782 ⚠️ 20.50us 6031360.0us 6506496.0us 794.9% 293MiB -0.6% -15.3%
async 32000 2,322,051 — — — — 6368.6% 5.2GiB -0.4% -5.5%

Composite score, main against this run, in the board's default view:

Family main this run Δ
HTTP/1.1 6362.9 (#7 of 102) 6400.5 (#7 of 102) +37.6
HTTP/2 - 832.0 (#17 of 36) -
Gateway 2425.4 (#2 of 9) 2353.6 (#1 of 9) -71.8
WebSocket 2383.1 (#4 of 35) 2367.2 (#4 of 35) -15.9

The results on main were measured in another session, so a few points up or down can be the machine and not the change.

Full log
  "duration_s": 20.002,
  "requests": 199628,
  "bytes": 23356476,
  "achieved_rate": 9980.28,
  "target_rate": 10000,
  "target_rate_end": 10000,
  "rate_ratio": 0.9980,
  "bytes_per_sec": 1167692.96,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 0,
  "latency_us": {
    "min": 36, "mean": 83.9, "stdev": 578.8, "max": 42527,
    "p50": 65, "p75": 74, "p90": 89, "p99": 118, "p99_9": 709, "p99_99": 32120
  },
  "status_codes": { "1xx": 0, "2xx": 199628, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "HISTFAAAAkN4nC1RXUhTYRg+73PO2XZ25twPYy0ntoaMNWQ1w4oV5iSkH6mbEusiIkNQKIKgCxFCtmbZRahF7aJGWYFIwRCLIbuLqHYRI+imIkSEQqLsJryQnh073/d+3/vzPO/7fu8JZ6f8ioKnyuan/r/FMqbySuevTUcPoMER3rH91JxUpIJ5fcbMhlYT43umO9Y7al3lvo3B6ZGZG/J8Qmq3ZD0vD3JSGy1cKVwev1gcejeUPb/Wd7232r2S/pmabbud2IiXYj8iX8OTW5cDH30fvBX3gqvq/GuMGQVjzig5Ko6SueDeaCx47nleuSfdK64ls2JWzVWzaC4715yPjFn7or6ofVPLalYto4gaxnANS/JZSjIvRbkpd2XgxOnMkYFU5uDuY3szqf07t23xeXwOj9vpUFxOm2bTHDZoGsDTpilQKFr9UBGgGJQQdDTBixHkNIzCjzTo8+McHgqCBLwWJIl+Jvht7U+C+5bSj5zgBfBF8FLwR8UFDOIoWtCDAyQMc52kpwGXkBe8FXQijseCxnqK78K6XVxx7GP1XpDdADuukjkBYprQjjuAghje1zlR0jsZbCKIZozN23nrZJ0BTBynwsfVvdxREGonJlEHBygq2tiWQYLBeiqfqWtRspjJS0CaiZMMepkqScurtZKgcxBBlo1Zg4oyVq9nEB9AMy2VZ5qiU+vHLnoOa3a24acvQlYz3giegHNoxSGWC7GRYT55SghtIa0NVnMJjrsd3WRGKHYGg1bOEHXd+kV+nCXzH18lf7c="
}
[info] CPU 35.3% | Mem 1.6GiB
[info] run 3 wins on score

=== Best: 9980 req/s (CPU: 35.3%, Mem: 1.6GiB) ===
[info] exact CPU: 7.26 core-seconds | 36.365 us/req
=== Fixed-rate: cpu/req 36.37us | p99 118.0us | p99.9 709.0us | rate_ratio 0.9980 ===
[info] saved results/latency-10k/1024/fulmine.json
httparena-bench-fulmine
httparena-bench-fulmine

==============================================
=== fulmine / latency-500k-8cpu / 1024c (tool=zrk) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 500000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.005,
  "requests": 7720910,
  "bytes": 903346470,
  "achieved_rate": 385948.47,
  "target_rate": 500000,
  "target_rate_end": 500000,
  "rate_ratio": 0.7719,
  "bytes_per_sec": 45155970.83,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 5801729,
  "latency_us": {
    "min": 105, "mean": 2282924.2, "stdev": 1375996.9, "max": 5808127,
    "p50": 2145280, "p75": 3298304, "p90": 4204544, "p99": 5445632, "p99_9": 5715968, "p99_99": 5769216
  },
  "status_codes": { "1xx": 0, "2xx": 7720910, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "HISTFAAAJcR4nD2af0ij977n53mSJmmaJjk5TurxODGmXnW8Hk09c7tze/R09+zh7t2zh1K63VIO3VKGUma7pZQyOwyDO2RF3CASgkckN4QQJIQQstkQJIRcCSGEEEIQN4iIiIgrIiLiioiIyL4+3xlunz5Pvt/Pj/fn/fnx/frP9M7+9Zf37v0ucu/1f4Y3v5ra/PV/3vv4/LXg/2j6fzaa9SH91/rH+j9p+i/1B/p/0/9W/3f6/9b0e/p/0v+Xxue/6v/vHf0/6H99S/9ng/7PFv0/4nAPmwf63+lv6b/V/4cm5m/r/0b/G/3/6rg/0H+l/0KfAvO/6+/pBozeZufQ39H/Lft32f890vv6f9HH9X+P7d/ymrHBwKCWBhRvEeMe63d4HyL5JQZvyx7CIhfNu7rZKLJf8oJ3D4N3+fL5ld4Hz7fwe1++RuUi79s43MNAZ/0LVr9ALd4EMzpkBQAR7itzAdTfrIzv6Coqav4niOAY33rD06CsjBIBPINu1E38SuBfvRYYhNW7itE9vu/yKy+gb2QqofuKnSQrireVQoV6SwlZGnFz6BJWVctIdY39cBMv/TV/wxtOkpzhdQyDMFVQb70xIm/jfSmaQSVyT5CE2Gs747tGyQj6hjdtAP1to0mSfI1tfF0AxL9SNsrC8QYLDJXI2zINb0Fc3veYC6H2d8SW/N4yov+18nggsAbTPZqrCz7Cv9EdRklbdv+SD2kbpcG/pAy4v+6c4Y3KQPUd0lmhaFRFV9niYhShQUlQGaU90jHjm1xeN42vRJeumVQVsTaqZr/p8FtSfZPR+Fp4z3TPpJsQ8yWyRaKaXpdHN5qMJgsKzIBhh8iofEVrleVria6blLnJYn0dTCjZ7hlNsJRAFqxMNjE1GI3YGMXIbsLJarTqorVY+VoswshEVKPNpLAt2FmtJhNrDHTdplsAIQxfi8rDYgDPZCIu8UWpq0ewTZIezoqgUfG0WhU3HIz3bJKe1WK1q4AmE3wVdUB0u03VUJBNupFoJivJWO6ZJDgcLCYYq6/FKhbwA+p1ORHbpGoCSXEtBuFlkvISHHtrl2xNEsxqtFmV3AKUFMLiNJqEj41W2EjK5jRa7FaT1cWOmltsqijgsbDeswBvJR4lctosUicrkemf0eKyWSmwRWok2Har3eLCzkKLbOCZ7FYcbbpUEr3NTh0ssrLYLbpVotALSVVsbSan02qDr9UuS5fTBkWrXQjjahS9xUZrjHAwWaiDzWZx6S4Q8AZG6uG02YgOusVFywlncSK2uqSI1Mmmu2wWi4qp5kvKS2OsNqkC5be5hJ6TdKDe1eVyuyxuj9Ntt9vd7h5nt9XmtjhRWK0WV5fR5naZuoxOl8/utOtOZ7fT2uOxu5xw8PSIgdNKPk47bi5nV5e1y21z82uxut0+E6qeHmu3E0ArUiB7nO4eo6nX5erygOTk19RrdXd19XQ57V02l63LZe9Ca3WZTD6odbutNqer14O309LjtNsAcDmtrl67C6XV5fV47c4ep8fqtLh63XYs3F3dnm67rcvqdRGRPnQD7HZau90DvS7KberiP3i57D1drl5Ll7PL6rZZu+1ul9XebTP5vG6iON1OW7erq8dpwbfL53NZu2wmu8sNSafF53RZvW67s8vlctucdrvN3m1n2d3lkjkRAZlau+ySj73XBBm7F17UsavbNWCzUQWXC4aWHlprd9upTXeP09QNS/LttlJDl83oJL67x9rVJcPW47N193R12ShUd6+NJqAEgiK4PNYuJzHdPXZ7T6+HnN12S1fXgLOrt8vuGqD4XW6Ly4Pa2+3uAaOrp9fp6uoVjr2uQQ9l9Lqsnl672zfYY1cx3eTZK1VyOgd8XZ4u71h3b7fX1dvb0+Medo/SwG6vrae7p8fj7HG5PAMU1uN1IvIOd3d5ewaGfRM9bp+7x+vvGSWwr9fj8fS4R4Y9HmBGez3uwRGfz+dxjw54fF09jwa8PT29XaPdowO+AefocE/X4MRod2+Xb7B3ZHDU6xwc7R3uGQZowjvgZRRGPJPeUV/vYM/Y6MCwZ7C7Z8Q70Ov19Yw88rqHB7oHB8c82PtGiDTQ7Rke8w+PjAwMDHoHRjx+f29vr613uHey2zM48uHwwMToaK+7x4PS2zvwaLin2+ebeOwbHev2DQ8PPBrx9nq6hydGRh8P+AZ9/3ps1DM8Muj3DvseuX2eEZ/X4xt4PPZowOPtGhjzj/kGRgaH3b0jo7//cGBg+M++4YGR0Y/+YbRnbGRwZGzY5/nDxKDf73V7fYOPxh4Njg6C9ehD6vDhR38Y9T0aHBz+aHJw1A/HgZFH4jzx4XD36CP32Ih37LH3DxOjIH7oG/vj48ePH430+MZGRgdGRx9PDHw4MTY2MPB4eHRk0Nvz0cijgZExAnz02DM2MOkffPzhsHcYhMGJEf8wtt7BAd/YR4PeD3/vG/P6B0fd/omvPvv+009efvHFH3//pz//41/+8aunn33y58/+4cmn3z/9/Jsv//TZnz757Ms//uXJF3/66tvP//Dkkz9/8+mj7//81RdPH3/15Mm3X37xyXdfPPny6Vdff/vlN59+9dk/fvPp888+//rLP3wZ0J5+88U3X37+09d/+fbT73/46sdP//zkkycvP3363V8+/frpkz9+8e2XX/7w5MmzWe0vX//8+Wdffv786++efvOnH5//8PSTH7/77utnf/nTs5+/eb6kPfviybdPv//u2Yvn3z6dfjqnfffi85/mtVdfzGk/f/HtjPZDQPsmqAW1eW1Om9VePHn2zZNvF7Ww9iKmLWoB7fmPP7Oe12ZQv3j1049ffjuvLWlJ7UUapfi8fPL8p1ktpMXZLWgvg9rPs9pPYe1VWHs6o02/mg5p32e1F3EQ57XpH8ASpABPTHsZEvucNj0d0BLa05evZhFP//Dy5RJMFuG0oj0De3r65Yr2alls54gd1aa/+ennZwssJeIytjPa01kV4NXLOYjMaC+j2s9x7WUEY/yDmP3840uSyeMU1iSz58+fPp2eJUZMezG9oD17Nb2M1QzP9LMXC9rXLxcwfDn9KiIp/jj9/Pug9uI5xY7gEtJ+BOvnb5/Ps335tdTheQC754usXv60CONnAe2H6RntWUaTGC9ow4omNKanvyXZ76djyBe0p68W+Ca0l/OkEdF+nH71AuQg9F5JAShnQnv1vfQmpD2nc6oCrxb5JDXp0U8BSfzJyzB1e5oixDyLlPbz02nVi1dP51XF5oH8IagVtVcwFhEUVf2ipCvVI0oUm+cJ4Z/RXgS0uvYyC8Rzqd+sKmkUaOn5CrGTYAjwK/TyJLQnBfooXSyyfRbVns/ICKW1jLYG8LKyCvNEMYtpz2QcEkBF+CaAjWCyxG9Ky2o/lbXpAvsapik0MUBkuFbQz6r9qlZGlwNjBlkannksoxQpBbWQVgClyFr2cVbCK4Q+yUp4liAlFZeBX8FC5qEAclyrwOLnVeUWBCSnvYgqvCjaMNusWhXVcVnCLwK3KqizuCyCmMVxBQ+ZMckuC0OJGmfNKOURBHFJ4bCMWRFlHMgfQ6AtECeu5mAO/xBZSsQQpkVQ5slBihdXeSxgFeJ3WVlK5UqsSmoVUqyy/CY0OZgxfFappgRPI4urNoSURYFnFeyo1oKvPHlilVRVklik0M/wK54yLtL8FOtX0uhVlXRetWftTfIx1SaR1BXJVdbSyDK7lAJeUcVYYx3jFU1SzUce27gqcEHbwrukEqxDuArhZSyTIBfxbLJroIlivawQk9qrguq4dGMVlzbCsvZK2hnHXhq8pua2AnpSpSbsl9Q0SkHzsGwoTnkgclg1iBpRBU/iG2ffxqYGmrQ3r4aloUoomZfhXECyBmpZZZNUDZWeR6G2oYanqgqZh1yMotfUgOTRZuCXw64Oapk3rTi+klkVuAIOu5gklWLlTR/WeOTsSH9brCpvulPTXskQ5FWVWtqBntE39F29oC8ZGnpJr7Pe0lu8Rf1Ev0QS18/Zb+v7yDLoj/UdvY19G8kBsrIe1U+RX+treo1njzetN/RV/VCfNYTQlvG/wX4FzSr7Kri7rEpo8nw77A71HOgFvcJTw3ZXb+oxfR0W++wbynJDn2V9RMykvgzKGm8Enw52a+DOYFXEP8U6CVqG3TK7oLJb1E+0JJo5PM60U+1CS+vnWpb9EbsF/VQL6ZfarZKcajvapVbUr7Wwfkt3zrWUvoT1tTarN7UbbQafa20PeYPvurZJbw751rRt5qBFx674Xac1NdpQUNOxRKsqdLRO20QWU51N054ceun4Ok1cUYc1xQxl1BTNYFVCLl2P8n1VxFzugLQ6DK9ks6TJH6dldbkEtWn5KxZCIDfOvDrzS+q6mlXTIRd7FqcAr/yZyIAVUwclqf4chrEvMC9B3rCiV0YXRrbA73ROXaIRZfRiGZsMBNNgLGrC7Ofsm6leINecOsFyQYtXEeN1zpUQl7pMN/lZ1A7Aj1GQPEaC1cYxg2lKFbKgzNMcq1VKW1Bnt8S6g34bOPmrtqmd8a3AtICH3EZNjlIZlDayqrbPqoRtE2LHikBUXU8ZmpyjHav45fGvISmre7XFdxX7impBTV1CWfVXYY1IhTd3X1bdKHJs4yrOMtbylNXdnqEENcVH8JrqothAl1AN30An190emTRh01F37TrVOERTgNkZiOvIL/HZ4HwfgrLLwO1wlZyi22aAb/nuoT1TFkdkd4t+lYpE9D00IlvUd1kdaBw7tLMM8TGDfoFmQd9BcqLdaXN6WN9kFdJDrAKsVxj9c/YxjsIdvvP6oSYHJYrkGE1JlwGXIzanv9YX8DzjmCQ4qLfEl0OXBiWkjuEFthGO9Q0M2hzWMB4ZotXAy/LIeomjHuNaWOAYh7ks5CKocJAD+JdALRJjmX2LdQyMAk9S2cWQi7SCjVwNt9ot18kiuDmOf51Dv856GdsSF9ki0nW4JbAucp1k0XPM4RvjKlklehWLKtdNBgZ1UEusNtnn1BV3jE1K2TW4CivortjluLCOQd0lSpMLMcc1dYSuxYWYI+o2vhX9Dukl+l1s5SqdNRyBu2LoID3Xw4Y1fdFwhce8YclwAO4dzwWX46UeM7T1OcOc4VpfMFzA9kYPGE70KJKg4VhfRhY0zBqShkMu8nnDHTgrYEcNIfTLhojhTF9jfYp2zQBHZHNEWkMb4RGbMl4pQ86QNcT4RmFQMhRArBiqhkXDqiHDfs8QR9dmnUBeN6QNm6zXDAdgrxi2DLuGoiGF5BSfZSyCxlX2B4Ya6Bvo2oZ1LK9YNw15ftN4NIjSZC2WF2i28a4hu8GibjgBdc1whnTDsEO0tCFk7IB8wK5uOETbwmadHGaN66BtGs7hfAbqPtJrYu6AmmV3Cf4R+g0lKRvmjVni3IFcU7an4O3DO2CcMxyDPGOsEqdNhBljG+QaMfOs90DIY10xJI1JvNeJLzgd1sL3lNg7+O2wOsKvQm6y3sCiSUVuVCWvsAjC4JSYJ7CcMwaMLVhtItlRsaQ6Zyq7GnmUYbQBr02V7SWstqlL2HhGpTawvQNvH8sQrM9YJ0BboxZZYw68PSwKhmVkUpEjalUzp80Nc9FcMFfNdXOO77q5Zi6ZE+ZZS8K8Y940Z8wt84Z51dxGc2Y+Ny1aksjz5gXLpSlhCZovsD4yx82n5jXzHUiH5m3zCe+h0qybb8DfZL0NTsByDtI1khs0++YtEFvmS/MBkmssZi3byK6xvkB2ydMyz1iu8bnD+hr0vKWO7z7yE3PREjJnLEfs2uZ5S9wcs2wRtWXOWcrmRUvVHLesINsB8RjfFro7YlTMTfOyJWJeshyzDlokx03zHjY7VOCYZxfLE75t7A/NHVhUzSGLRLxid87bwmrfLFxvVTZHyK6xP6NSASIfw/rAXFbx9snlEvwZS5P8auyuiBMguuS2ie6Ep4ZuyzxnaZPdHXWbs3ToxjVIDTwaRD0Aqw3rKHltwW6DLArohGsdnzrWB1T1AFZHxEtSkzLoa3SqgCRA3+7AybKasaxidweDA1X1qqrRHvsotnOWXdXtjpJJpAMq1FY5NLAJYn+O3x28jmHQgYHYNalGQ/X/huhLdOocr0NstqjCHfVN8z2lmwl06+Yw3zM1K5tYS3/O2e/RuyayGPO3yzoLP6n5Gbs9uF/gGbOU4JGBzZ7isQWzDHkeYNWkDvvY76vaddDswF+eIsyFX5sOSM+OFeI+b4M6XYB4Dn4RyxPzCtUTpgHLoVl6VsGiTawL6hkBRWZ8H943dOmCTi/BNqS6uwPuJhF2Vf1OiJOh8keKQQvUAlE2WS0QSeapiuUlrA5UtRPmFFMbt1TU3O0Qv0CcU2zK1KsM3gyMJMcq1QyR9R6eMsO7yJrwuX4zuVIZmSKZrTvVHcn4lOodqeylnzec4zlquWiRrp0j2SGDY7NMahl2grqr8ly2LGFVVnWqqkmrID1Tp3mNvlfQ1pAuqMmap5s7SNsq10PWbTXBdTqQJ7ZMXodvFZtNGN2pWEGyPidCjbcJ9uvzECRqkIlYYj1nOSHiFb+rxFunFnvElw5InAN1R5TMBZicEVGm5ILpFe8wZ6ZFvar4hixy4uWuCVhuqWvAIqfn8E2PTsm/Q2XqrC6x21ATHuFMrKubp6OqeYZ2hiz34CXd31CaYzKatchtcKPqe6TOzro6/3uqIkVYbZDZiapbjBPQgFED61MsciDIHdSG7yreQZWJTNQ264y6nRr4ZpXmVE1si8iHagLknjwh/ir7hGVB8c+z36M7coe03sxIU3X0TN1jd+oeljN1TLymmpsN7G74nYWdVDNNDlKnU3MKWQXtDpYBcIvEi8DrRt0fWaakpiZDZDJNcpOF6IJwT1EnqeUM+wWLoF3hf6POyLaaWrnLpH5yY3XUrbENx3n6foTtkeJ5yvdc3XHyd6jNXV9SCFdE6xBnD54zFolxSV2lt2cg5mBSUVMXpDpRi/zNkfvkCNv2mztoX/2VEgY3qnNy3zfpUFnFm+W07hFdToTsa+pe2cTuVNUmZJG/QpfsjoibA+cWzGNsd8xS/4RFspHzeKrm58CcZn5P8JAZSTOhG+RwrHK8oJJr/D1bsMjfAZnYNbKtq9t5XbHogHCHdYHqNNTNNWuR6JdIZsh4m0kK4n2qbrcMVSq++StzpG488bhQN1rDUXHsOzYdHceOY9Wx4dhztB1rjryjhaTIbsNx7DhxLKPddKw7MqwbyI8cBUcKzw6yuKOGLuUIOPP45pRnxZFEU8M2g/UGiFFeiVPGZou34YjhU2I9g+wEr6Kjjk3R0XSkHVnHNhYraBJYrBO/zD6PNsM+yu8hbwRZm6eE9yHsK/jJvq4yOGWX5bcKjxSYLew2YCucymCklW2GZwfNCro80iy8YiCVWG8QIw1WxHFtz/Ce2dccC0jmqckicuGfwD/umAM1wlrwc8SvousQ5Zx3k90K3wMs8uRSIeo6KB0yXYRbWVWsiXbPEXKEyWNPVUOqu4e2CGYHjIIj6Nxkva3qsMp+n7cE8hb4Sccuvxk43Dku7ZvYrKkab2CZJbbUtaJ62mJ1rKqyAdd99mk895GeImuyyip5hdhZZHUVSSaihSyF7wIoOVXHErWrKvw4nifwLxC3ybeFvAn/Lew6DpmyBk+dzLdgdIwsA8YZ+wJWESp1iMex6k9K5ZQnpxyRDvhugVXCQjpT50nilYXtMtw3WVWwWAJTOtokL6lynKpswVXYhZBn2R3iU8BiDbQ9dJvUS6amDJsqEevkE8U+xX4b/230STVN0tGUmrQwlQ6jz7/xTcCq47iyi3aJODHeBDiLfIVHhG+AHLKOO3tezUKSqkZA22ddI0YMbYFaSLwsGW2Ql/SgwipBnLhzEZtD0CXbS3tLaeNglNTk1uFcw3pRze0866zinYNlknqGFWYYpH2FkWQVw+bMnoNPmHUdvxx4q/zGkZVYZcgzoeYrrCYtileJWqyRT1FVIk+8HM8cfDc5x0m4tMhL5qOMLMGvxKkS9QC8JhZlNQ0xsHMgnYCQUBNWVjld4tuBaxpJUfGooY2wlltpAesWMSSq7CuwLKtZbPIISgdOTSwyasaTPBVQYth01LxswK6h7oUkjPZBLqh7Re6dXTUPZbLbwCehGIZVPzbBlhncxvqAV6IH8Zt3ziGrqAmXeyKjJrHGqg2HNfzkpsnT92M0K44b1a8a1Uggn1M3aV2dqTX0Rb5ynrMqpy3sVtS52QU7quaqjl9H3Qwyl0dq8mWK5JZsqvssgmwJlHU1zyl+sypv4RyCewwkmcBVvnIDJHkTWHRgIzEKiuGMus/lJMsUiHdS3bUlJmzfcWuPECuBJKhmV+7/GPsW2pSySat7UTK9sDeJc8vEJmGfpZ5NMA/s8ndiXu3zzEmcSAF1GkLEK6h7sk7V5CTN8FtV8yvnIah6L7f3675LdoeOG3uUTA/taWQpOEXVnT0LhtR0kW8CJmWYBOCRASPApMnZkls6hW0ZrrNqXu/sRXVbrFL3ojqJDVVlmbQtLBeZ2UUiy21Qpge39iPiJVX9ZcrmyULW0vVVvPMgR8mp5tizJ9XNkYDH67OdQpt3SDVb6oaR2akin4N5U82SYM6qGc06Tuzy17KMbJV3Rd3PObrdwmKZKlzbV9QZylH5ZYVSxjOu/opG1d826WaYGBFY7vCVvymHnh3PuWfTU/K0PWXPqefEs45k31P3VD3bnqbn1nOH9oL9jWfLs+c5wmKD3wzygOcQfdlz7LnGMtZ35bnyNLA9Rz7XF+tL9m17Vvp2PYG+Ft63aI+IsONZ7ut4In2n7AN957ybRMj1XXhWPat94t3Bax/UBjEO8biESdUTxmPb0/Is9mU8QWKdsLvwzPfN9TWxOmB9rPidYlElStuzC6sNuO16avC/8KTJK+dZgM0x6wPiJNHdkHuFdwebNU8K3Tn2ZbDSvCVPHskRmkNPFosmCA0kBYW6RR1OPLN981jEQbqBZ4kKHnvOPCGwGp4i/pv4hbCtkmERhHOst9Hu8d0G9YJVjVWd7MQy13cJ6j4Vm+2bJdtDPPZ51qjKfN8WeAdgHREng+aY323Qy554XwmfSzLZgPsaHM6xbFGRqMpvE9mJqtMFmG0kR2rXphMdJEXVPdmVseuwa/Kewe6QCKfKdx/Ebdge0I9LfptqBsJEanhm+hrYVD3SkVMsd+jfFpbRvjyMblROiX+ZoZxC2SCadLWNpfTogHmoMSEyQxnsb8iqTDbzdP8W7Gif9E34BvvuiJ5iX6Z/WXBvyG/Ps0z/I1jeESUP8oFi1+Yt0rNNmB3zhMBue1bArIF1QOwO9mn0TTWRRSLWYbuualSFZwtGLfDDzGgZ5CuibqItkW8SrIbyXSJuA2kHRoG+Cviranry4K0TMwhSg2htqhWGxyrYETUVt/isM1dVT4y4MjdtEPfYlz3XDxpwXffMkHWaqW3AJE1Xk9Q4R4ekkmtYtsDLIqmSaYldCKwab7NP5qxA7BNi71NryemG+FUkIbxKrBaoUQncEt5H6nSsU8ttmCz2SWWElZyMOk+GKFnwyrBY6JP4JfLNS7eZwAsibHmSfTGskni1QMryDffJ3O6R7T71i/adqCkt86TIbxfcDSIcP6jCdZNVlNnYwHMFdpswq2IhuW9Ss30wz5EcYiEndw0WF6qS0tFtsst5ZtWEBflWeMp4rdMfYbINyzl6IPdAWd0WMq/roO9SlRwRbtmdwX6R+ZM5PIT3CZpA3zG+89wiYpFmXcJuE1yZlE1Ptk+Yy50mpzWH9o7KbZPRNlVbVic1T75yuxRY3aj6RIgraB1sK3h20LZZ3z6ow0vqKxOWUzznVAVWYL+g8kphnVGTJPUOgXT7oEmWC+BLdeTO2uEUSF063CklvptYy+RtgbWBXQYmM2qmSopBEoxDJDkkdw8CxJzta4O6Qk1TVPTuQcdz/mBD2cc8Jw9CzOjtg1kQm57NBxcPbh5skWuYLI6JUeFXZlMqWaDzcnPVQQmSTxXPEnGaSIOwKBFjDc9T1nn86tRnpk/OyD6sslQzyimTeb7hN45fEVy5068e5NW9vgrD8wdzfatYxfCqqAy3qN8pHlfI8tTjUlWsiscq+zrVSavpaXLGVlg31F9C4Sz34IpHzvKcmsiqqgB37YMyeC00cfQtcLfQy732OlqTeZE7N4NWTssxcZbwy/BIpodEkL9QJXZrVP2St0zEQ+zryjYNstwJC+DNsT9/UCBCDRs5Hxl63QY3z/yt0dMy/OWEVJAE+3bIdl1FLahb8EDd7XIeZAK3kcsdUZs6m0xMzU5VpwJTC1OLUw3Wqan9yevJ4FRyqjIVnVqa2pxqsV7iOZzKYrMyVZ9am4pPHUyG0d9Onk9eTt6yXgRhb7KJNsk6MpWZWp4qsDpiPf/77akizyHWq1OdyQJx56dKSOLYxKbmeCuTO5MZbENT+2iaUzPIslNl2AizUyJVp3anTiazWF5Ptqc2J68mD+B5MzmnrC8mI1PXrE/JKA7rMPGzSC8my5MhUCtIl6dyYISmriaXyTgLWnJqg8yOp1ZhVMdmfbKKx93k4lQM/PrUJYjrk/uTKexP+b0k01miLRIrO7VF5heTS1M7MFmePJvssC9NzkxFeXMwE3bXPDfoDyYrRLudjE0VyXNvsj1ZJOOzyXX8JYOIqnYI3B28t3nvJvfYleEgfpmp+akd9DPUN0UmVaIvT6VVvy7IuUJnFpS8A1ppMj5Zmzz63fxkYjIyuTF58bvW77Y+unrc/lfNRxe/PZtY46lPhCY2JhYnZn5bn9icKE8UJlofRCYSE8WJ1sT6B4GJ5gfhD9L+kD/tD/s7/hW+V+Nr/qI/z7rlP/dH/Sl+D/3n4yf+Nayuxm/HV9A3sMii3WO1498d3/DP+pv+kr/u3/Vv+av+M/+6P+GP+2/9OZDWsQQDXQ1Z1b/pL/tvx1sKcZ+4OeTX49sgpf0VbGv+S/+2f87fxqKMfwYOZfAT6FeIuQTPDIhZ8LPst/0XcGr7F/wbcEiBuIFt3t8aD2N/N34+HsV/lydKnDIxV/1n/B6Adza+hX0KXrvYHML12H/kn/lgAyYJEPfQ1vx3sL9C04bJnn/hgxkyjOF/OF6FQZIqzPFsktvr6sXB2BsXFhm4RpB1sFr2xz+IECMO3xOinfsDH+xTrzX/ov8U1CUQY8RNkkUCTkn/yXiT3wK4l2SygtURtkEQYqA2sNoF9Yys4lTvDF0atDvyzxPxiu8pDKr0ZYNVmXXogxpsTtBu+6USReLXlcUa2stxQY0ToUQ+Kf8W03A+vuS/Ic8FqRHriKpUiS6U8Q0TIwGbOSbgAL80iIvKO8B7PJ4CeQGkMzRN7F/P2jqVnEGaw3edbxY+IVXHc3KW6TqB7x15NWC+R8yz8Vl+C9Qggk0D7xlyydCpMt3cUZyK8D8GpcVqg/w24VBFvkxm16xOpOJUMs++QA9y1HyXKp0ga6jfU2TH/ht8iypKnZjrYNep+w6RL5HP+rPjW+PL46nx+vjieIfpao5vjRXHEr9Jji7/bX4k/zD08HZ4+eHZcORh4GH44erD4+Gb4c2Hyw/zD5vDKw9jSG6Gww9vh86GgkONodZQdehuaHUoNLQ/tD4UG5ob2uF7PHQ72ES3yhMfyg3V0CeHikOdocDQ0dDsUHQoNXQ9GBxKD80PldFnsGsObYFVHsqDmho6R1rCbwZ5cSgxtAlqHas9dHtD24MBvnNg7GBV5ukMLeBfJmYDBqdDByDvEmdeRU/iOQOn9aG7QWE9Dx+RroNeBfcCqyz2i0Nzw3HFODgcVXE7QyvgJtUqidcS38jQ4dDlYAEGh+Cmhgr4JXmj7BLgpvBYHaqAmwe9hk+C3zXiLg4tD50PHg9G0HUGJe82nuJ7OyhxDwbD5FkeuhnMDG2As4RFklxKfFeGbogkFd7lN8+qBGaJSDGeJrbie4tdhurl8T8iYp7dNtG3qXWCTjWI2KAKcfgJmwi5noDXoRb7ivEq3wi5B6llgUwivFHqvwhGjN8o1QpT4RR2tcHCYAfOe4NVOtIms8bfpAaO3j/wXXuvvQlvsD/cf+BNexf6m94Tb9Kb9Va8NW/U2/buewP9YW/de9E3613pu+rL9K33XfaFvYW+o7563zaSq75SX+7jxserH1c/vvt98eOZjxMfb7FOfxz4/SF/Y1an6pMrf3/96Ia/C5cT4d9mJgK/3Zs4+WB/YvmDU+6hNicoxlloqZNXZCVnsToeGDv9zdLY6m9uHkaGAgOX77ffDw7cvD83cPv+wftn7++/3/aFfQXfWf+yL+276L/qX/DN+vb753zn/Xf9QV/OF/Rd9y/xK/IZ305/0rfbn/Kt+I77A74y0rv+im8OTQC7pG/Rd9kf8c37QkhCvr3+El4ZX8UXAT3vi/uu+hvsj/tXsD7un/ctE/26v+BL+pawz/g2+y/706xkfw2XtIpa9pV867460hVfgrfla/hqWMzDaw3sG7wO+i9gFPZFfaf9ZzC/6o+CdtE/C9+b/iNi3fE9JJclVvO+jsKt+06wq4AsSGkQ47xB8lr0xeCxhE3Yl1JRFvG46L/lueYNU6UimgSvYM5hHaRqYWoZJ5OwL4s0RoZRvovgrmAZRb7MOkCsJB5ZdilWAfJsIU+TZ4i11GqGb8BX9B1417w7vMyVJ/Pro+6j9y7eq793+t7Oew2e3HuZ9/bdN/cP78+6I+7z+yvuoDvhTruT7kW+K3yLyMP8yrPkrrib7ixPzH17P8s+gW4OTQ5NDmncPQ9CFMRFdwDt4f3E/fj90P3l+9u/DP1i/92kLWkr2BK2lG3RtmBbts3bMu8cWI+spzyX1mPrlvXMemM9twbeObPOvHNjvbBeI19459Yaeif4zuw710gC7xxaT6xX1qD19u3zt0/fvrZUTCmD/NvCGv+Cran+JeCq+lfgxv8PKZi5ZA=="
}
[info] CPU 787.9% | Mem 297MiB

[run 2/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 500000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.007,
  "requests": 7784538,
  "bytes": 910790946,
  "achieved_rate": 389092.65,
  "target_rate": 500000,
  "target_rate_end": 500000,
  "rate_ratio": 0.7782,
  "bytes_per_sec": 45523840.04,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 6594879,
  "latency_us": {
    "min": 39, "mean": 2127574.4, "stdev": 1497340.8, "max": 6598655,
    "p50": 1828352, "p75": 3122176, "p90": 4286464, "p99": 6031360, "p99_9": 6506496, "p99_99": 6555648
  },
  "status_codes": { "1xx": 0, "2xx": 7784538, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "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"
}
[info] CPU 794.9% | Mem 293MiB

[run 3/3]
{
  "zrk_version": "2.3.0",
  "target": { "url": "http://localhost:8080/baseline11?a=1&b=2", "method": "GET" },
  "config": { "connections": 1024, "launched": 1024, "duration_s": 20.000, "closed": false, "target_rate": 500000, "timeout_ms": 2000, "deadline_ms": 0, "deadline_abort": false, "record_timeouts": true },
  "duration_s": 20.007,
  "requests": 7729881,
  "bytes": 904396077,
  "achieved_rate": 386356.03,
  "target_rate": 500000,
  "target_rate_end": 500000,
  "rate_ratio": 0.7727,
  "bytes_per_sec": 45203655.00,
  "error_rate": 0.000000,
  "max_schedule_lag_us": 5624059,
  "latency_us": {
    "min": 40, "mean": 2213006.4, "stdev": 1425430.5, "max": 5627903,
    "p50": 2014720, "p75": 3312640, "p90": 4302848, "p99": 5281792, "p99_9": 5539840, "p99_99": 5584896
  },
  "status_codes": { "1xx": 0, "2xx": 7729881, "3xx": 0, "4xx": 0, "5xx": 0 },
  "errors": { "connect": 0, "read": 0, "write": 0, "timeout": 0, "deadline": 0, "non_2xx_3xx": 0 },
  "latency_histogram": "HISTFAAALhV4nE2bD0ij97rnfZN3kowzNdOenp7u3LnJTI7JcV1PkroiYqMrg8yda0u3HA7lUrqllGEYBpFBREREQgjZEEIIXgkiIiIhiIiIiIiIiIiIiEiQIBJCEJEgIhIkSAiyn+cXe9mmyfv78/z5Pt/nz2vhnBfB//xTTU3Pn2uq/xgfnpra/Of/rflfN9WD/214ZDAYDSbdoOsGg8FiMhhqavVntbrBUvv0aa3JICu91qIjYeLSpNeaavQak0jXsKqtETV+agzyNfGoqeXHqE7lUOcfsWqQS5ORM9bilDXC7OVpkH84NetG/ZGSrpEfsSkiBrHHpWjWGJ6It0fiVZcLoxIWUUN1K1JGdWdE1vBEF9OfKUSPReKxEjU81kVA7CEg158r3OJB9J4oCDW60WSWs+oVYn/iafqMq8dY+Ivom6v2quBqxM4jg+hY1VacmE0PsP/FoGz/VWw9NigpbsEoP//K489Kxyxbp9jCm3D2mYgRcxWW0fSE/V/BIcHi55Hhz7r1wdcjRb5Z8HzGRvz8RXkTxE+UO8h6IkDMypXR8Lku1CL+uRirnrOwCsRqeGJLiZpVIMo6t5/pCm01jYb/oxJg1K3655zaDVVlYv4X2TwBhlFZVWkFif7ZA2dV2qoc1qhcPxLrEo0uKjXVxWOV2z9JwTxSMkpNlo8VQLPgr1EPRT4q/00RrHL+eRW1sPEnpWKW5+cqqZ8L0TWCUYyLCaHhITmfVTGZdZ01fD56YMT6kL4/GwSaSppuFwYeVytQ0qZQ6/9d/zduvxV6JDliW9EptP1F/1x/QE8hPlElbqh2pRTsoyqHVYKeGBTfykqNMv831qRDF3pU8lVijFVW6OtqwowPTSGWzCoWBV+ayFhNwGP595GYN0iANYooUZF4VXpVcoxVcCZlv5o7YxXSvzy4EVXTH1k0SMN/Xm0xuVIzpiqPUal1XSCpIq6RKfFYdaCx6sygZoxeDeRhCFAyD+1tesiC+BMSdGVGDaJHMhhq1HRRArriUZmE36oHukRXya6GAjKZXboK21TtDZwqC7pk4FEVpumPUfNYf8T4e2ISiozVqlP3MhSVyiOq5Q9DNSpmXa2N//+UqqkSold35uoQNJEa04NOjemxpaZKmdEEZyZp6cdVSc4f6wq4qhJr1X5NtcaMtLTxD2cqe8qHsPRQYsRuND3wroY7XNfIw6KLARn4ukX2woPhYcwb1HuCIC08dNMfsxkxEzeWasb0aqq419UrQ1d1pSuajRaTXlersltTjQwiRUm9BQSorl4aT/GAeQlPr2bRJFhY8nqx1FQNi32gWIQseU9JOIKDf00Wo3oZmQSlvAtM6sJSfVPJS6mm1iAKspMaFk8SUjXBunp3WcS/rgQEjLBhVGzp6r6mWs3Cnv5QQgRYKy6MzwSwQbcYlC+DRR7GP16UQnqN0qpC1UXZQsYeyaGqFHFqktIQciRgaSa9TpJBkmT7X95N1WJXJEjvWRQWXeVBORdjNX+kwSDqEp+EUG3VGlUGKkpdHajaMsjLX73UVdHovPml0QRAreT96UNDw4tRZV2EEZK/IiDOUi0VgzIocERLlZBUF+k1PK7WlUUBqc4YNXyNqtmlmPQqWQq3RRWzXo3XYrRU/2ZR6NCwSP1V61NKUf5RnKl/mYJSTLizPESnV//sEGXLg/2aP14/gtHIXzmm6giq8lmlWiyZdDUmLVJZf7hUQNS4M5lUMJJSmZM11XqSbrOoYWJ5+JPCpGI1Kb1q4ZuEWMtDKWLVYlRVIVAtaqioalVnJpNRgatWUzV7RotqFnKjeNHl7zY5sjy1SO3h2AAowfdfJW4y1ZokwxaC/UK0LLrISlsZarl4KkxaLDDBX33VOhVttKQspQyfSsEgLx44F3GBbJICELyAMNSqJjKpAWKRbhRrxM5a/tqULX7FXN1ThbBGqocz3cSUemoBRq3MCl0eBtNTRZRJ9ZTgrJF/MSXDyiABWNSUqNXrxA8iplpjLeGYxLHkko1Ii1+xKK6kRBUMgacLYaqe+UO4VqIURbGFfRWjKjnCfGriD+Vq50rEJg5kxqjWlqTUCpUQaTHUUe+SAaiW7pMWsVT/Lq6tliyTBUxPJWfSgZZqdiQ8uRLrBlOtSjDw6SQpctXiT8WVsKEw1UowT9VklbRW6x9nTwlKkmSw1IkccSlmquNEaUvk1QEqPiTNqp0lHpliNepvf3kz1ElqhTEAWYQpQ5U4NW9U4mpV4mHKUB1A8t8PamiLZV0QS75V8zzwqauXDoahvkbKVGYKvlVgaqya+E+Rp0KbZFElUXiRFrdYntaIEZPqAqkWAy4kexg3qYkscIUYi5oA7Kmz6utDuTYibrHU1qpaNFUzU/PH6wwctap84ctCflXJGKQMhRfeY890SY9MuVpi4COU40v9R5NuevbUUve0RhUitEoqRf8pLUdFiKoqWmlPVnW1dVJ+4kUsmEzUMJFbar9AwfKFRf/CUldX9/Rry7O6Wom0zvL0S/kPsqd63Vcvnn315fPa589fPP/y669cti/r67549uL51y9tz1wvbK6Grx3Pvn75xcuGF1+/fNHwovZL21cNX7XVP//SUf+iqYGLxq9eNr14bntpa3rpevnyueNrh+3rhoYvv37+VYutvsVla/TWO17WO5rqnzd4G+q/cntt9S8d9S6by9tga3K7vnC5HI7nzxscbndLo6Ox3tFie9FU73A3vmxsbPA6XE0ud32n7avGl67WF27XS9eLxoYm11cN7gZvs2g2upqaXrtcrXUNLldXy8umJq+rpaHx5fNnjQ0vX7haXW1ixNvY1NTY1tLobnI1dLttLV5Xc1vzywaX+2Wj19HY2OZ1NDQ5WprqG5+3eV92vnE3tNa/afI2ueo7m9tbmhsaWl7Wt7q6GlwtLV6Hu8Ht8rrdXndnQ6u7udFla+tsbOmqf9nS5HO1dDoaOxte+zobGnyN33Phbna9aSHsttbWlvqGxtam7gYstmOgqau1u76lrb3F3d3Y1dTgQqDb5XY3Nra0uLo6211Nbe621pamNl9TQ9Prbre3ueutq7H5h9am5oamlu6WBne9r7G78XW7r6HF/aO3qaHL297W7m4Cbltnc3NXE8reem9rQ2dnq+91U3O7t6vV29ru6mp/09blbfW63F2Nbe7ON173j+1ub/ub5tYmX2sD0Hzfu7uaurhoaEbT0eVzN7d3NrZ7W7q7X7e0vG3pamtu7f6+7R/NzW8bWhocLa0/NqHU+dbb9Ka5ub0bqL6WZl9zm8v34+sW7+tO5Ou7u9obWzvfvH7d2uprfuvztbtfvyUHr1tb/tHqbfG29HS1NXW1db5uf9PV3dXW1d7T/X1rY2N3w+umns7uru637T6vr93b+Nbb1d7ua+v5obOrpbWLQF+3+Rqw2tmKH++bt15fC4ftbf/0vfW9dXdy52v3tb51dL1909ba7nW3vW19423zdXu9LW/etra9afO6uwGINe/rtra21p/aWrq7utpfu90/tL590+r+oae1xf2irb1b8vB9a3v7P9p/drRjtLnb8baz291KdrrbWny+Nnf7Tz5vE6BZ97g7m1+/ae9uq/+xvau5xdvYUt/Z1v76l++7m1ta25tbupu9rW1drd+729s73c2dDT/81N76uqvl10Yqkujaerq7u1t+8L5x+F63NXe1t3U1d1PG7Q1NbzH7uvtNW0try9vmnu9J/Q9dXei0+drbX3tJ8luquukH3wtfPSDbfv6h+2VXa1cX6f+PH31ed3376xbM//j2LY9myoAs+Lp87b8Ojo5+Golqce0f/cNDY5pfG+ob+TmqDfT9MjT0W0QLajNa37uf/Tyi2siHgd6Bae23X/3a70N+dP7jY0AbCWkjMS2i9Q4NIB/TPn2c0D6+D2m/hzgciGgcDowMv+/r/zA40B/Rhv3Y7B1+h7WBwZA2ODD62xhaQ5yPDo4GANDfH9T49/d3AS2hicWw1teb0D71941MaL9NaD+hP6N9CGiDQ6Nj2mBE6wvgoX/gU0J73z8KGr8mPuLa0IeIbEYlqvfENjA0+vtwCHODg2I0wnf0x3cjfVEWA6OD/QMhLcDp8NBPYU4w3c9ZP35GP0W0/kXtw8fekcEJ7T3hDga0T8MDH4k2rAkRIQLo+zWgvesdJrA4dj4FtJ9DBBDSPvX9xgaN0f6hwVEi+wDfQzEgjY68HxzXBhNa/9BHgfzJr430xrTRAawOhbVeYfD3/uH+4X8OB7kefj/cH9WGB4aAP9gb1n4fHiULv/f3YTOkjeP0n70DYW1CG/g4LCd9A1j99OlD/5g2OjLc9z6gEczwh74YnAa1X36NacN9IxHiGf30Ka6N9L/zC6sCbCDIw4/Jn4fJ3nDv78Pv4+yGCeLjR5I2RvTAlYS8+3W0l7QGsIj1vt6Pg0FQk364ImxC6h2mSER8ZPB3Ahvt/U1FF4fzj/39gyyHPvR+iGsf+wY+DIxpQh6Wonga+C1A3f327gO56x/uG9fI0EAUT79+6o0LX0P9HyjYBMIB7cPQ4Ii4DmpDv3P6aXSa4/fvB4aCPD+NfAwjM0hhD6rVAHUWI8e/DpO1kZ9HpF5CWi+JBjBpGIxLKxDGu/6fxbryMCyVlRDtQZgdFJ2Pgx+AMvqh/+O4Rlr7w1r/8IehYczPChkL8N073CvJp0pRDBNQfy8J7J+G2P/4ODIc195/HEUvqrLyEQaGyNRgPwD7xqS2+2iyoRSeQ9r7T7+Nk1+SNzQ42PdLQEtqU1z0sesltVK0vR+HxJGUE3CgGs78nA/39fb3STkOE0WAZMIFnPZ9kg4hy/2/DEq5jc6IArz0jg4PDL8b/V0MRSQuP/ZmqL6+vqEpDPQO/jL0rspHmC9tOMy3v/fdp2k0RkdGhkf90vu9cj86MjQonPRLPiPa0LtpjbhHSLgq7LD2nmQKuFFSRblMwkXvT6NhZsQEpz+Pa59iPLH7KShYIuJvaGRoZCAOHXHqQVptEO76sTEc05gpo6ODUpQ/J7D1UeqZug1pH6OahAlZVH7vCJXbO1idMZ9G57WRodFxgn83ODzSPywV8KmXthuUYiVt/5RBIXZkPEhB/ALswUlNeg38IanqKURJ3QT3P41KgUgHyfSkmmS0DA6PTkpdCqq+X2iucXZ+NiQERoLaOyLue1fR7rWgYdNQ0QKGklbQ/KyOtQlD2LBkmDCUtYyW1cYNx9qYIWIYN4xxcsH6Uitrt5rsL5ANoFPUKtqaIavdaNXdBNJhQxHbE5yWkA8abnnOG0J8Iti54jNuiBrOtTM0Fw0Z7U5LoDtuSOOhgD0/ctda1BDn9Fo70JaRvtJEM2JIYOEMiUXDPftJw42W0+LczxKFoIoZ7ohmktsQkhP4vAX5OPt75BYMeS0NlrjhQAsb5gzieRIkl3zGOI0gUcZiCRR3+JkmmjuQ3HCb1wTNNPJTaNygEeAuYIihFzBIlKJzocm6gt1b7MRAdc9J3CAIbkEcNfgVCzG834LhWBNkgnsKK5PgzWsS2RW8BdGaVuyFWAumEBm4BssMuywSy/BU5aXIMwBLRZWxCIhjaB6ikeTuXNshKwVtFusiE0dfcj2JvQqS4rOszYBLMnCvPB1rUwZhRyyLxT00EtgVmRsQC5diM0y0C+Sugpc4+M/AIRELt3nOKiqSAszNG6TKTlVVlDXJcIqbALpXql4K2gp4LrAY4XnD/STxzYDgjF1cMVcEmeAoop8nBxH0JRLBf6N8xUCeA+sKWK6RFt5F+1iTCozyDcDMmSZ5TRkkJ4faokG0pVYDSJS4OaGG/KCYIS8ZmBBWwoZTYktwPs0nD9IylZXXRKeAB6nNgoraj5cCrBSINWgQKT9R+slFCmtXSIVUxQdBXiaTYTz58V3Ak2RdKq0MU+ewNmWQmpHaltjvwF3UVvFxw53UQ1GTGpUejrEvanPwcYGUn9NqZYxxcqtyGFD5qRB9mJNLpHa4j4FNavwGRuMGYaEMI5dgkdhOFVNjqktiZORWTYs8/ATQuYaXGHeTsJbgW+RzhaZYu9VS6EktFdE9JSLh7lxNDulKwVhSfZdTNREGXZqoREqwyDwJGKSqpkEk2bxCK6dJ/1RUHfpV9Uh2BHVEIaqoyr/Qqh1wryKSir3VhDM/WJYUbr/CdqJJ5iRi6Z9qP0p2xkB2qSp5k3khs2qZ7pqBjWs1C9L4k3qSertlfay6VKbBKVK3muQgo0nt+clgRdW3YJDpNYOlM7KWguOcqg2ptFlslGHsBjsZGJ9gnzTIRCkhc6Gsn6tIsmRHeu9aTah7PJxq20xbP37HDPs8C1q1ZhIqD5fon1NLUgM7ynaA37Imne0n5tIDl8KBTNogli/IV4LKEzaLaoYH8XCFNUFfIt/SAUHsCk833CwYZK6fqXkm2G9VJUyo7BbIdUTlVfrgXr1bypwJK/IrE0+qNa/m8TSYDhWyLJpVKzGikQlbgTG/mtESd5yPnAboV+mFsJoPeXwV1OyVd5Xcj5PFCkgF67RBqrk6U/IPESfIkbzJwupc3iAyUWQq36tpKN8skhGDsChzUt4YUnFBg0z8e7SkH05Yl/EQg4ecJvUq+UoS0za4JC/7SjrCJIggc6kqvKQ6Rt6WcTWxZF7J+3WCnawkT/KmC6j3TBH/15pk6F5N5oqa5vLu2MD6DbEE1FwJw3sAL4eaVFQUnH41BbLElzTcGEvGjDFnvDXO6kXjrjFrvDBO6DN6zrjP+R2nN8YCZzF9zzim3xorxmvjDjoJPaSnjePI7RlX9CXjpH5lPDOmjQv6ujGknxnvjVfGCBJjul/fR7toPMf2mL6MxSn91Hhs9Ov3xiD6J8hWuCsZD7GyyfOCT1wv4D2L9TU9gL19MF4bN/Vz4wZ+5FasXBmLxlP0A9ha57kF9rKxjOQhHuaROjHecBrR74jwEOl7ToL6NYiuie8UNBV+N4xhfQw/eYVyWhf/WaN8InpMX8PXCV4n9S10J2Fh1RjVx/UIp1fGS+X/iti2iSPO7S16QZCmiL/MroREBkxFo9xdGYXFsmInrkuMt8YjbIf1SzCPYWkcznLGA6RCepB9DnQ7sBHVS9g441MwbunTrItYKRLfPMhjMJ/A+w3sBbC9xvcKPwX0p3TRy+NP/KzB6iQ8hfUMZxLBGFwm+Ebws6Ayfq2wCJJjhbuIjTLSBSyWsCUVkoMt8XOA5AFW5om5QixnIIhwLxxfYumWXF/DwbbCcY2VayQuwXCJ7BYWA/oCaK9ZjxHxHWzFQTKuC64i90V0QjAhlSU6CbJ2RdamVUVW4CqGVh4u7xTGK9DH9ai+gU3BtIC1GzQjqoqLrEUjy1eq8wYmkkoioyyXqLYSls7RiOrTYEgbxd80GAvYvwFvkNxLVHdkWuzmiS7K6YXiKs/pNJZWjNIlO6Bcpu7micCvi+8L4wZ+pYrF3hm8RFU1b8PJPLhWVYUEuN/CWwhfOaQzWD1AJgHqPZWFU6LJI1MBYZT6vSPuYzRPkNkGR4mbWyUpnE6Sywu6dZ6zICxI9R6qCO74vTBK3qUrt41JMnmuuuWYszPi8+vCquQygZVDTsfBfITtc+LawMaecREmNo0SY4IoZX746fUKKzkpGoWdIlyfEdkeFXSBrNRIGOuHqmbOsRcGjcyjG6PobnKeIMaEXp1Bd9xPsb+kzqbxF2YOHcDQLd8CdR2jZi95Zum+GCenRLkDt8KcH8un8JgziswVzEvX36tqmNKlk6RWZHZFsXeBh5TqBZl5ISbXPej95FB6eRasBbW/4z4I/hRTcJkeOUXWDzNFopyEo1VkKshv4Vmm0hFRVLAexrPU8xo5nNFlYhzA+wW+M2oCXIFqlptLlZsZ/EgvXql6T+jVmXKrKvhe+SyRd+nhuKrMuJ7C9g3yAV06wY+dtHGX3k/iP67LjJT5coNf6boy1ZEDncyKEDgvjZKxqIrjno/0s+RBaiCp76IZ02ViR3SptGs8zeK7YpQZVOJUVgtEFIHhCFNd5t6EPkuc+6yT+gR6m2p2CuqgLl21qfogCdIdZU+q7xr80nt3VEZMlxme4nwOXFJVq2raXpOzCaoiRwyHcLGkuklq4lIxUiK+IzxN0CEys4SRNSR3jOtwnYJzsX4ME7MgOUarSC1LPa2if6664U5N3QA8ioRUbdooHV4xivw4/OXwkFXvB/FSxk8ZzVM1OfwwNk0+xtUbIwrrx9iSOTCGDalS8TCjMhZmYoQ4Hecp0yxCNGdqpkV1yUWAihojghj3Mk3TRnk/Tukyz664j+uSLXnnTupSuxn1FpnEc9ko6Et4m6SaitzQ15YVc9zit2TN5+Yt87Rl31wxj1sq5pz5xhy1zHF3at40hywn5gPONs15c4z1kfkCuaB51bJnPjPfmlfNE5Yp8xi2CuZrpFYtUTT3zGFL2hyxnJkPzSVsLCJ5a86a98wJyw5Sc5xk8LJiPsXquXnf7LdsIVE0L5iD+L4G0xme/JYcOhfI5rndNd8heWCetyTNafOU5ZiTgGWVu5BlF9kIsRyDYw/tAndpztZBkTZvq2hKxHlh3sD6kfkEmTJ2T4mtZE7iLQymO2LfwEPIsgGOsnle4dhES54ZzpJ8r7ActlzgoWC+wua18lbivozUAbIZcKU5vySifXzEsZ00L6O9DG6JYcxyqGIPYS9kuUQqblnD94ziJ0JURdAswNmU5ch8b16HuXVQ3yEj536iF1Q5PFbwc4jvSfO2ZZnYyuDL8glbFvhm8LlluTHNW7bh8IZ8HSCxzyoLcyXzEto5Pjt4LGM7A4c3+JsgO8d4XjKvgOwK33mk5sF8qHgXnqfJ2rY5BRd7ZqmjazxIRoTzHFEuWmbN68SbQyOK1CmW01jaw/K1WWQkbydEcEgcWbDPWObNEu8qsgWVnyLyRWynFZojEKdAecYqgeVbbByzk+xc4CODNBVlOqAi8nA+CcKiWfAfc3OLlYp5VtnZV1qrnEct01R+ldMF8pAgOwdYK6rvrHmWk6x5gZrIgFp0wtRlkcjz2N/GUsiySR1MkKFNVcVjYNt6yPg1flfQKuBpC2ZmwDBjGeP8wCwVLJUllXKMVfEfwU8Wz/NwdW2eY3ULXwfmpGUC3AVzmIq5JqchpA85vzUn6IhFsJQ5lTiF+XusLipcJ1jYUuxIF0eprz0i3VP8HyqG19HNIx0hqi1uT+A4T3Sn1NoldZHGWpr7EmgzWAlbUsjSy1g7wOadWTr2jtsNvOzg/QzZBJHNWIKgPebkimjOsLiM5VP00mRAOkvwThDZDaxJNIfUj/TRBf5mLHemaYtMJ9GcoFcW8Cfnx2iewtKtWSr8nIqYskh2d0B38cCmdEQK79t4W2a9SxTCjZ9uu+dmGiaOqIZ9sO4rjXMwJOE5o2o0C9fSv+t8hak81g9Vn6ZBFKZOs9xI3S1QcQuqNubAcMwnj+Q1Un41JYpwesvZueqxNBEuwVYQ39IvB5zlqKkFi0R0yckJnzBTtUQseSppBpYOVM0GwZxR/ZrGVgEPJdXrS8gdqB6VuP30xQbxrVP3U3TxFt6OWZe5n+W2qGbkJXi2sT6Pl32+B9g/VTUyaRF7d2CSybKmZszBQ6flkZW5keYjWJfNS/iR2t6ha3JgkO5NqCmxjI3qlAxT7zPMsRWinMKWdME+eAp4O1ZTYR1faZ43sLOn0EWQXLWEsRej3kJo36maPCUKiSGvKu1evZH81IVMo6iqvAp8FNAXdmSO76r3SVb12hV9Nc/JhUK/Sqxi8Q7JObBJdY7hrYDPOaxmsDqGr014zCJdUrNdOnYZ7Qx+UpY8mlGLeJDZsE82/UzAM1Cekot7/KTVTBA271X2LsByBvqKqvdJuJh96Ep5E96RE+m7a7NM+IBFqitnnuL0XE2vG1i4Vh0q1SO9EbMEwD6jOq2iJvsRduXtGrBI/uQdkAdxmB7ZB9cSPnfMKeuM9cC6ZT20rlrz1jFryhp8NmlNW7PWY+umdYWbHesuv+vWC+uCddaaQ+q+bo77FFIH1qJ1zjptjVornO+z37NecbOI1rF1yrpk9T87toatGesJurt81rC5ir1x6zX3EfyOW+etMc7G8BFll7BOIrVgXUYroZAluZ/H+iy2d7gr1h1wtmSderZpvavzP4tZK3U59iHrOQjmrQXWG9iaYp/C+xVW5rG+by3XnYHcD/ICHhaJ8Iz4562noD3jc2SNc3/JSerZDnHlrNt8zsCQJc5N1ifEOYm9ffAuWm+sQU7uObkgrgTRC74U3m+wf8p6jpP4sygaG3idRquIjzwWT+suiXYVThbRu62LWW9BvIXPGfBvg1q0trGxiPcl2LhXcRYUDwdYOUP7HOQHSuKUCFfxsfBsDZuyPrQGnqXhOQPyU353wZLF4iYeQs8kvzllJ8+NMLIH51vYyyF3yo2gm2NfgvEdJG7rLribw1LUOoGlM557isVdTi/QFv7D2EthZ41vUFVCErwr1lJdmnynYXcWdIJpj88SEmdwtQajOfQE1QacSg4P+eyBYVZyjozskvjY4bOsqmme3TXrFYVjDdksUkugkLwtgWWBzzz3+9zPEGsOmWnyPEe1bPHcRvOuTmJaRSpLXJugkLgPwJLkJE3OxN4q+ZlWVV0A8SIxLPM9w+IZnvbQWOX2Cn87qt6jYAs/m2UlGT6GnyVi3+U+aY0+K/K7TNeIToYYJPJ7Il8hMzNolpXP8Wfz0h1kdB1bW/iXvlyE4SQnO1TZvqqYFBzdc36pavSGCt8B7TJ2/cgfYfUQmzHiT7CXqpwhwzt0cox9DJ05avgEnyn8bXBbwPISWI85kec6HjZAm+P8EitLVMUseK5UXo6I6wJfFTxNIVUB3waaUyqX67AjdpJYlRzOcHqIJT9xTasMLxPdNrqbRJPk/o5TqbljUBU4n8XfFp8VVcf7MJ4hljlsS+7LnESQ3VH628pmCTuHoJrmeaw83IF0Q3XxLixukdU0PK6DMUXck6onUsRQhimp1TIZ3MfDFhrBZ0t4iDwjO/zuKbaO0ZikLtfxEHwmFXPOfl9VQ0l14vlDTUrMu3jJwu047El/79AbGX4n8L/N7Yzi9RSNFZAtI72t2F8G2wEy0h8yg/bQWoP/AppX8JLgV2p1GT528T8HoiASp2oCFqzCcI548mqKLbM/QnNF5WWO5zG7M7CWYVt6tkAe58F3wu8Oti7Av4ZXmWUbqj6zIElg8xCJScV4DOkcfhY533+YtDKtI1TiHNFEVf+lsZpVOuW6NWyfweWJuk8SawXGl2FhDh+L3OyDa5X9JrtV1aVTcHeApZSaY6fcbytu8tzvSa+oSTiJ9yMwTao3V0blIKim4RLdsKnuD1Vd7ai+zKh3Q0pVTfX9tIB+jkjm2Z3XnSupffTv67LYvwDprnrLrOF5wRqQ+a5YkUi2FA6ZUFHuy1haVe+9lHrHJJE7Yl+pk4q8rZN30ARR33BfqcvAUEr16ji8LGJL4jpAfhJONtU8neBX+nBdvWcmVD9Ibi+tF3WraMnbQiZDjG9K1UoaLmVSTcClTPm44nVPTdwDYg7bc7ZV26Vt2l6yXdgqfMu2qH3MnrGF7DP2qL1gO+buwHbC+Q3rFeTObVP2CfuU/diWsAfsG7aw/VLdl20Be9ietyXtV7aibQwJsbdgv0U+Zk/Yr20T9nWb3z7Oym9fRbdkK+CtiHYOjWt2u7YSaPK2Sfuq7cy2bj/C6rXtylbFMg2ySfue/Yx9yH5oi7MK2++QPGJ9BMIgNiP2G5CkkM8TRZb44vYlbBdt+9yVbXc8V4klazsF3yK7KXvSvst90Zaxx0AUsV8gVbJlbLe2mH3NvoheGqZi+JsjrisiXwTZMj5Ctg3YqmBfuLoE+ZZtjt9d2yxMHdhWwFTA0iF3UbvgzNpSdj84MrCwg58sOP1wFcXrkn3ZPg/+OzDd8XsNpoA9iPQCsYfgKoaNJTCcEfUUHJ4So7B1Zduxr8DAONkIgnUFlOSQKEpgXlf8xO3C8z25ObYtsk/BZcy+i6dle8Z+AoIwsQfRFAxXtl1WQYUmiEbAPmsfA3WWSHZgboOITzldAP8FqzFWITxVuF1E+5TznG0Png5YJbnbgveofRrGbzhP4Vd8SkWVbfNonGD7gFupp0OqJQAmORNM16oyMshL9QSpoj1ugvZtWBtnH4C5VXuaSFbs56C64pu0p5DNoLlDJm9Aked+iWq5gIdTOD3md88umZ5WlbvDKoLuKvyO0wHL2M2CfIGKH7NL9S/A9h36MfsclX2I7SRW4shG7FJHh8Q/hcw1rPnRW0Z2G1shcrjFWQrGCzbBu4KdW3JTJNK0TepWukrqPcKN2JSeCFIZojuJTA60x/Z92LrF1pj9Hs4qdEARH3ucXfM8g/txPMRBkcXKJGtBMGWXbJXRKtoS6KXhZ53ftPJ3ZNu0RV7ugSJORV3apAMCnF6CbU2dzuKfbqGCtkBzZMvbxdYS1bED7gU6Mkm17dml56SyE9T4GLWVpd42OKsQ+x58jWOnQH0dsFqzJ8l32r6N5S16/xC7y0itIHHLzQant1T7Arkr2YSneTIYhNUEcUpXFMB/IKyCfwzLMXuc33E4viMvZzaZRFL3C7BUsq3Rq4v8TrIPwOM5jJaJdRu9It6TVE4eT5tkaZ0aSMDAMdVwzs0JuuvoRmBgmfs52JRe3qJy5lX/LqjI4/ZNWJc8BLC2S35KrLdUry/hec22zm2e3zy4JQ95LJVgKYrmBatDopIumMf7LjUeV3ncAuk0WZEJ6bef2SNgyrJmIsJOhfNTm0QdgvVpqk7ycc3ZLPmcoDon6ZiEmr0FMnZFHRfI7ib5u8FzHvkzVod4PoWLDPbmmCSr+N8H9YSq4wnYLYM0ZNvmbt02zS1nyO6CUuqvRL8yB4i1jMVLkAb4XIJ1jFxHyYvMkRW4zNmu/vVEZW6dLMTAcw2Dy0R6gJ0klraIKsdtgYq4UBFuksVd6vuSPDB3QZsATZoot+A2jWwZxILlgP05M2UOnzdY2AbXrF26VmZSjtoZ56SCReoLLZmnc8idw0ER31e2STWpjmzydjrHdgKs83jcVtlcI/JZNA5AOg+SVTCewMc6sjNg2rNNwIzUdY5oUmA6U1Ptimzv2KTbx4nlFv/0k8Irbxc//X+i3hPnaK3Amrz1pNuuqekc3tM2qdMK9qWuDvhdAjHvYTzNwvqcimOWubWrJqVMil3uwtTurk3eNsLXGtakMumxjqnOtY7djmTHfMdBR6hzvvO446JzuyPZedGx1nHRke+Idc7xe9mx3bHSudqx1DnbUUB+peO8I94R9eW+LX67+e3Ft6vfzrZXWostsf+50zz7zcE3qW/Gv5n9puw99Ma/yXiXeF55/d4Lz56n7FnyrPOd8EQ9Ac8Mv5fuBU/Ec+ie8qx6kp6s+8xzz8m0J+M58sx7rjwpz6lnjv2iZ8xz7Sm7Q+zO+J33hDz7noJ72rOJZgnbUW42ONnF5iaWxtCY9iQ8u9jY9xTde56sJwiCoDfh2UF60TOLvROPWDx1H3t23XeebfccN+OeBSRO3GvgTHoyeIt5ppBex8uk58J9wO8cXuOeMB7jeAl4bt137kt3xZ3F/xgIF4kqxerIPYvsAhbW8Jjgu+neQC+A5Yo76bki8gkQb3jukI96Dj0HWF4H2TqxRJC646TiPuR2Dr9h/CXwNonNc35L7rI7DtJtzwrMHfFNIhMl4rI75clh5cxdcsdAPQPfS54LMC3BQ8W9A4dZPsueO9YVIt9UOiGYX+J3wnOOzxi2pvnGuF32pJG/dV+gKRorSEZUPo+xv04UfnxfcR7mXFBvoTupcjdOHCWQhLG85LmBpbI76vETRQH0CyBdguEVz557FQ4u4W8G+S08b+IliUexsUFWyvB/7t5mn3EHyEvBvYOFW3cQn3F4TbuP3YJiRpBSCXvkb0thO3Mfubfd8+59d8Y9B5ZT9xk5C+BHtLN43kB2GSx+UC6CSOotQg7TILlwJ8jhPBxMEFOSzxTeEmSl4gYDWbt0S13veCQrkv1j9zyR3VCjB6rWr90nZEK4iXK7qqpqDO08cnPYLyK1+MBbNUfjSB5Tdbse8X2I5iR8z6m6neOT5DwHKzlYOMXaGfon9M4MKLbcK+DacI+5D9zbTcH/MdY40zDekPjbkiv8txvXlevYteLadeVcReeka8K15xpz3Tljropz2xly3jrT9UHXhHOFz5hz1rnjnHduOjecR3zHnQfOSecq60tnyjnnvHaeOAusbpA9cS46E85752H9BpKzyGXQzaqzI+e+87Y+h9Q+NtecSec5+zQa85ysO3edy84pJLfwsIRWyjmBhWn2k8pukvtFZ9wZQHfcOeOMOg+dufpZnvN891jvYTuP5ixel50xUPldi5xtIpnH8iW2ZkA/g/Qtmkm87uEhw26BqLfZz6F/V3/lzDkr9VtYyiN9Dq5dolh3BlwFZ7Z+1xnGygYIj+DhkNucM432IT5PFFul+kp9AL/3xLdKNMX6DNqHfIsgO8HrOTFvcZNVTI6jLasd0O7gccd5WR9nPYufOcXhFLInWCwSbRrOz9kdguAAvR2Jx3len4SdYxXFOrpTYF9Ddw12xp0ldIOKF9FIoZMgY1POK05K9dcgFHbX0J7G47kz7JI8FbGTAc8+PpMq2j20V8hIgd2y80Llbg6bWypbZAH9De63ncewGCQDceT24fSAzJWchfpDdvsqwjs4nwBHDDlZHSG1DrYlLCZAHUDqvL6IbdkfEsUttxuqFvfw5nftE0FWIZkiu8tEEXNtg34JqQWi8aN7Vx/FwyZnGeou4ko5I/CXcV4Q8RloJoksimwEVIfoJRULqyCS2MXvDZVwXz/nLNdPcZMB4xJRVji7QDYF53P4l2oIgGGBu3Wi20PzrD4LhnVOdlVFlurL9WNU21190HlaH8FviFoKK518fRivZdCuwnilfoJ85OqlRseJQmwLN6vOM2xNsh/jVzKdBbN03Qzc7ikkJ9idAfs0ElLDCRjbwNMmlvzsVuD6FMm574LfbXxX7Jn6bqpn5bvpnu2eQk/ou+We/Z5FVus9Kz2zPWs94e+Wek57Uj1nPYHvAt+Ve+a/y/Zc9yx+l0fWz2e7p9ST/Pfxfz/499C/rb0Odu3xd8Rs525HpWOsI9Gx3pHzTfk2fEe+Zd+ub9qX9kV9875J3wzPJU6vfNff3vkWfHHWW77pjhnftm/TF+k49s35TnwHfOY61nznvoLv3rfOM+1Lfbv37V17pj3SWmxe+Cbt3fEeeDOeZW/KO++Vd1HZfc00Lrsvma+76q+GMabhOm/GC961YXYL/L2xhtS1+4Y3QIbPPZP7iDfChEf+asjy7ijwDth0j/998+/+v983VKjDo79O1B//NfvXkmPxrwXHpmPBkX617phxJBzTjklH4VXx1Yrj8pXfcf+q8ur41d2r3VflV7lX169Sr+YcxVelV+OOrVcZ9pVXM46zV2ec5F7dvAo4bnguO45ZL2Dp6tWOI4elhNJZcuRfTTjuXoXwEONzx8k1+vuOCccUCJKOFceYI4T3pCPqGHfMc77imHUscTbD7gSNK1ZTjrjj1LHqSDsyjjlsHXF+7Nh27Do2uMk5yq+2kVnhPolVOZ1z7LFacly8TL3Kv7z5143n+a9Tf7n76uCr4p8LXyxa5z47fDr5tPyk+CTwdOHJ3JPlJ4knoSfrT6b4TPKdZj2mnpOcp55MPImpdQA5/5M4d4knQc7va/1PZtCOKL34k2OesScLyK08nn489XjZnNQn+V8Sp7UU/x+W4ffft375/wC4CfE0"
}
[info] CPU 790.5% | Mem 294MiB
[info] run 2 wins on score

=== Best: 389093 req/s (CPU: 794.9%, Mem: 293MiB) ===
[info] exact CPU: 159.60 core-seconds | 20.502 us/req
=== Fixed-rate: cpu/req 20.50us | p99 6031360.0us | p99.9 6506496.0us | rate_ratio 0.7782 ===
[warn] offered rate fell short: rate_ratio=0.7782 (target 500000/s)
[warn]   the CPU number is not comparable with runs that held the rate
[info] saved results/latency-500k-8cpu/1024/fulmine.json
httparena-bench-fulmine
httparena-bench-fulmine

==============================================
=== fulmine / async / 32000c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   14.27ms   13.70ms   15.20ms   22.90ms   98.00ms

  22264781 requests in 10.00s, 22232781 responses
  Throughput: 2.22M req/s
  Bandwidth:  250.15MB/s
  Status codes: 2xx=22232781, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 22232781 / 22232781 responses (100.0%)
[info] CPU 6216.5% | Mem 5.2GiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   13.69ms   13.60ms   14.40ms   16.00ms   24.40ms

  23252510 requests in 10.00s, 23220510 responses
  Throughput: 2.32M req/s
  Bandwidth:  261.26MB/s
  Status codes: 2xx=23220510, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 23220510 / 23220510 responses (100.0%)
[info] CPU 6368.6% | Mem 5.2GiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     32000 (500/thread)
  Pipeline:  1
  Req/conn:  unlimited (keep-alive)
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   13.68ms   13.60ms   14.50ms   15.50ms   17.30ms

  23245175 requests in 10.00s, 23213175 responses
  Throughput: 2.32M req/s
  Bandwidth:  261.18MB/s
  Status codes: 2xx=23213175, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 23213175 / 23213175 responses (100.0%)
[info] CPU 6347.2% | Mem 5.2GiB

=== Best: 2322051 req/s (CPU: 6368.6%, Mem: 5.2GiB) ===
[info] input BW: 106.30MB/s (avg template: 48 bytes)
[info] saved results/async/32000/fulmine.json
httparena-bench-fulmine
httparena-bench-fulmine
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/results/fulmine.js.json - 37 new, 37 total
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
httparena-postgres
[info] restoring loopback MTU to 65536

@nigrosimone

Copy link
Copy Markdown
Contributor Author

👍

@MDA2AV
MDA2AV merged commit 8197c88 into MDA2AV:main Oct 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants