Skip to content

[Rust] Add wtx#590

Merged
MDA2AV merged 10 commits intoMDA2AV:mainfrom
c410-f3r:main
Apr 21, 2026
Merged

[Rust] Add wtx#590
MDA2AV merged 10 commits intoMDA2AV:mainfrom
c410-f3r:main

Conversation

@c410-f3r
Copy link
Copy Markdown
Contributor

Description

Adds the wtx framework

@c410-f3r
Copy link
Copy Markdown
Contributor Author

c410-f3r commented Apr 21, 2026

/benchmark -f wtx-http2 --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 run triggered for wtx (all tests) with --save. Results will be posted here when done.

@c410-f3r c410-f3r changed the title Add wtx [Rust] Add wtx Apr 21, 2026
@c410-f3r
Copy link
Copy Markdown
Contributor Author

echo "[wait] Waiting for server..."
for i in $(seq 1 30); do
if curl -s --max-time 2 -o /dev/null -w '' "http://localhost:$PORT/baseline11?a=1&b=1" 2>/dev/null; then
break
fi
if [ "$i" -eq 30 ]; then
echo "FAIL: Server did not start within 30s"
exit 1
fi
sleep 1
done

WTX is an HTTP/2 framework, therefore, the CI check will always fail

@MDA2AV
Copy link
Copy Markdown
Owner

MDA2AV commented Apr 21, 2026

WTX is an HTTP/2 framework, therefore, the CI check will always fail

Yep, Ill hotfix this in a few hours. Also you subscribed to json test but that is a h1 test, there will be more tests for h2 and h3 probably next week

@c410-f3r
Copy link
Copy Markdown
Contributor Author

Well, an agnostic /health check has been added but I will wait for the upcoming validate.sh.

there will be more tests for h2 and h3 probably next week

Oh, that is unfortunate. The json endpoint will be removed.

@MDA2AV
Copy link
Copy Markdown
Owner

MDA2AV commented Apr 21, 2026

Oh, that is unfortunate. The json endpoint will be removed.

You dont need to remove it, eventually will add static and json tests for h2 and h3

@MDA2AV
Copy link
Copy Markdown
Owner

MDA2AV commented Apr 21, 2026

/benchmark -f wtx -t baseline-h2

@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 run triggered for wtx (test: baseline-h2). Results will be posted here when done.

@MDA2AV
Copy link
Copy Markdown
Owner

MDA2AV commented Apr 21, 2026

/benchmark -f wtx-http2 -t baseline-h2

@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 run triggered for wtx-http2 (test: baseline-h2). Results will be posted here when done.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: wtx-http2 | Test: baseline-h2

Test Conn RPS CPU Mem Δ RPS Δ Mem
Full log
[info] available CPUs: 128
[info] framework: wtx-http2 (wtx, Rust)
[info] subscribed tests: baseline-h2,json
[info] building image: httparena-wtx-http2
#0 building with "default" instance using docker driver

#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 495B done
#1 DONE 0.0s

#2 [internal] load metadata for docker.io/library/debian:bookworm-slim
#2 DONE 0.0s

#3 [internal] load metadata for docker.io/library/rust:1.95
#3 DONE 0.6s

#4 [internal] load .dockerignore
#4 transferring context: 2B done
#4 DONE 0.0s

#5 [build 1/7] FROM docker.io/library/rust:1.95@sha256:4a7e3a0c309c9bab658e469f842711bd595fae484936bc5d605e08ca0c631bf4
#5 resolve docker.io/library/rust:1.95@sha256:4a7e3a0c309c9bab658e469f842711bd595fae484936bc5d605e08ca0c631bf4 0.0s done
#5 DONE 0.0s

#6 [stage-1 1/2] FROM docker.io/library/debian:bookworm-slim@sha256:4724b8cc51e33e398f0e2e15e18d5ec2851ff0c2280647e1310bc1642182655d
#6 resolve docker.io/library/debian:bookworm-slim@sha256:4724b8cc51e33e398f0e2e15e18d5ec2851ff0c2280647e1310bc1642182655d 0.0s done
#6 DONE 0.0s

#7 [internal] load build context
#7 transferring context: 86B done
#7 DONE 0.0s

#8 [build 5/7] RUN mkdir src && echo "fn main() {}" > src/main.rs && cargo build --release && rm -rf src/ target/release/httparena-wtx-http2* target/release/deps/httparena_wtx-http2*
#8 CACHED

#9 [build 6/7] COPY src ./src
#9 CACHED

#10 [build 7/7] RUN RUSTFLAGS="-C target-cpu=native" cargo build --release
#10 CACHED

#11 [build 3/7] WORKDIR /app
#11 CACHED

#12 [build 2/7] RUN rustup default nightly-2026-03-08
#12 CACHED

#13 [build 4/7] COPY Cargo.toml .
#13 CACHED

#14 [stage-1 2/2] COPY --from=build /app/target/release/httparena-wtx-http2 /server
#14 CACHED

#15 exporting to image
#15 exporting layers done
#15 exporting manifest sha256:bff7c8294f9c1f965f5914afa3389352846e0e22f00e8845819c713a260546ea done
#15 exporting config sha256:a384f3dc6c2e551430fadcb555899c97b59d680bef83badcca0aa1c7dcb065d4 done
#15 exporting attestation manifest sha256:9081c98fba054d01a2490af6748041a56cb1d4819a5fde6a4702d68b96d9616a
#15 exporting attestation manifest sha256:9081c98fba054d01a2490af6748041a56cb1d4819a5fde6a4702d68b96d9616a 0.0s done
#15 exporting manifest list sha256:7c62d3e669167746ded9e5813e0fd71da5344586be2bf01bd16ab5d04e17c65c 0.0s done
#15 naming to docker.io/library/httparena-wtx-http2:latest done
#15 unpacking to docker.io/library/httparena-wtx-http2:latest done
#15 DONE 0.1s
[info] tuning host for benchmark runs
[info] CPU governor → performance
[info] setting kernel socket limits
[info] setting UDP buffer sizes for QUIC
[info] setting loopback MTU to 1500 (realistic Ethernet)
[info] restarting docker daemon
[info] dropping kernel caches

==============================================
=== wtx-http2 / baseline-h2 / 256c (tool=h2load) ===
==============================================
[info] waiting for server...
[warn] wtx-http2 did not come up for baseline-h2; skipping
httparena-bench-wtx-http2
httparena-bench-wtx-http2

==============================================
=== wtx-http2 / baseline-h2 / 1024c (tool=h2load) ===
==============================================
[info] waiting for server...
[warn] wtx-http2 did not come up for baseline-h2; skipping
httparena-bench-wtx-http2
httparena-bench-wtx-http2
[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/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → performance

@c410-f3r
Copy link
Copy Markdown
Contributor Author

curl defaults to HTTP/1.1 and only automatically switchs to HTTP/2 via ALPN.

For unencrypted HTTP/2 connections, it is necessary to declare "--http2-prior-knowledge".

        if curl -s --http2-prior-knowledge --max-time 2 -o /dev/null -w '' "http://localhost:$PORT/health" 2>/dev/null; then
            break
        fi

You dont need to remove it, eventually will add static and json tests for h2 and h3

Nice! Although I am not sure if it can still reside in the metadata file

{
  "display_name": "wtx",
  "language": "Rust",
  "type": "production",
  "engine": "wtx",
  "description": "WTX - WebSocket Server",
  "repo": "https://github.com/c410-f3r/wtx",
  "enabled": true,
  "tests": [
    "json",
    "baseline-h2"
  ]
}

@MDA2AV
Copy link
Copy Markdown
Owner

MDA2AV commented Apr 21, 2026

I need to hotfix the validate and benchmark scripts, both have same issue, didn't think about a framework not having h1 but is totally valid.

Yea better remove from meta.json for now

@c410-f3r
Copy link
Copy Markdown
Contributor Author

https://portswigger.net/research/http1-must-die

Lack of HTTP/1.1 support will probably become more common in the future.

Thanks for the review. I will be back as soon as the hotfix is ​​merged.

MDA2AV added 2 commits April 21, 2026 18:37
The framework's /json handler doesn't match HttpArena's contract
(no :count path param, no m multiplier, ignores dataset slicing),
and the framework itself is h2-only on 8443 so the plain-HTTP/1
`json` profile can't reach it regardless.
@MDA2AV
Copy link
Copy Markdown
Owner

MDA2AV commented Apr 21, 2026

Ok so, 2 details.

the h2 and h3 tests are on port 8443 and they use tls, you're using h2c on port 8080. 8080 is for h11 only, 8081 is for h11 tls

There is h2c on 8080 but only for grpc tests, adding h2c for some h2 tests in the future probably

@c410-f3r
Copy link
Copy Markdown
Contributor Author

the h2 and h3 tests are on port 8443 and they use tls, you're using h2c on port 8080. 8080 is for h11 only, 8081 is for h11 tls

Sure, the server is now accepting TLS connections on port 8443 using self-signed certificates.

There is h2c on 8080 but only for grpc tests, adding h2c for some h2 tests in the future probably

Oh, that is unfortunate. Hopefully this feature will be added in the future.

@MDA2AV
Copy link
Copy Markdown
Owner

MDA2AV commented Apr 21, 2026

/benchmark -f wtx-http2 --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 run triggered for wtx-http2 (all tests) with --save. Results will be posted here when done.

@c410-f3r
Copy link
Copy Markdown
Contributor Author

Erhh... Sorry for the lack of commit. For some reason the new changes are still in my local machine

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: wtx-http2 | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline-h2c 256 724,160 4468.5% 703MiB NEW NEW
baseline-h2c 1024 694,417 5178.7% 1.5GiB NEW NEW
json-h2c 4096 616,296 4200.7% 2.0GiB NEW NEW
Full log
. Stopping all clients.Stopped all clients for thread #9

26Main benchmark duration is over for thread #

31Stopped all clients for thread #. Stopping all clients.46
. Stopping all clients.27Main benchmark duration is over for thread #39. Stopping all clients.

. Stopping all clients.


25. Stopping all clients.
43. Stopping all clients.
43

finished in 5.04s, 694721.20 req/s, 23.86MB/s
requests: 3473606 total, 3576006 started, 3473606 done, 3473606 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 3473606 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 119.32MB (125116682) total, 56.32MB (59051302) headers (space savings 58.54%), 3.31MB (3473606) data
                     min         max         mean         sd        +/- sd
time for request:       35us       1.00s    118.59ms    105.56ms    67.87%
time for connect:       17us       2.07s    371.80ms    524.88ms    65.43%
time to 1st byte:     1.84ms       2.27s    434.17ms    594.41ms    67.13%
req/s           :       0.00     1095.42      678.34      187.65    73.05%
[info] CPU 5107.9% | Mem 1.6GiB

=== Best: 694417 req/s (CPU: 5178.7%, Mem: 1.5GiB) ===
[info] saved results/baseline-h2c/1024/wtx-http2.json
httparena-bench-wtx-http2
httparena-bench-wtx-http2

==============================================
=== wtx-http2 / json-h2c / 4096c (tool=h2load) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
starting benchmark...
.
.
.
41..

progress: 75Warm-up phase is over for thread #% of clients started14

46.
.
63Main benchmark duration is started for thread #34.Main benchmark duration is started for thread #.
43.

3337.
.
16Main benchmark duration is started for thread #.
32Main benchmark duration is started for thread #
16.
.
.

20.
Application protocol: h2c
3. Stopping all clients.
38. Stopping all clients.
41
. Stopping all clients.
. Stopping all clients.46

53
242
. Stopping all clients.
33Main benchmark duration is over for thread #. Stopping all clients.12
. Stopping all clients.. Stopping all clients.Stopped all clients for thread #
50

9Stopped all clients for thread #33
. Stopping all clients.

. Stopping all clients.
16. Stopping all clients.


13
[info] CPU 3127.6% | Mem 1.7GiB

[run 2/3]
starting benchmark...
progress: Main benchmark duration is started for thread #9.
65% of clients started
5.
.
.
.

.Warm-up phase is over for thread #

.
. Stopping all clients.
37. Stopping all clients.
26Main benchmark duration is over for thread #34. Stopping all clients.
. Stopping all clients.
57

finished in 5.10s, 627060.60 req/s, 2.15GB/s
requests: 3135303 total, 3266375 started, 3135303 done, 3135303 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 3135303 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 10.73GB (11525629056) total, 62.79MB (65841363) headers (space savings 55.32%), 10.62GB (11403081693) data
                     min         max         mean         sd        +/- sd
time for request:       54us       3.83s    141.98ms    217.86ms    89.17%
time for connect:       19us       3.05s    659.78ms    667.01ms    91.09%
time to 1st byte:     1.69ms       4.82s       1.16s       1.14s    65.40%
req/s           :       0.00      368.70      153.03       73.75    64.62%
[info] CPU 4134.2% | Mem 2.0GiB

[run 3/3]
starting benchmark...
progress: Warm-up started for thread #22.28
% of clients started
Application protocol: h2c

48.
32.
.
62.


.

.1Warm-up phase is over for thread #
61Main benchmark duration is started for thread #41

59Main benchmark duration is started for thread #Main benchmark duration is started for thread #41.

3523..

61Warm-up phase is over for thread #Main benchmark duration is started for thread #58.37.
..


1
.
28Main benchmark duration is started for thread #9.
.
.Main benchmark duration is started for thread #4.

.
.
42.
40.
5. Stopping all clients.
. Stopping all clients.

62. Stopping all clients.

56. Stopping all clients.

. Stopping all clients.
3

37
. Stopping all clients.
16Stopped all clients for thread #33
36

. Stopping all clients.
. Stopping all clients.Stopped all clients for thread #24


finished in 5.09s, 627390.00 req/s, 2.15GB/s
requests: 3136950 total, 3268022 started, 3136950 done, 3136950 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 3136951 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 10.74GB (11530960697) total, 62.82MB (65875971) headers (space savings 55.32%), 10.62GB (11408345176) data
                     min         max         mean         sd        +/- sd
time for request:       53us       3.74s    137.92ms    204.81ms    85.96%
time for connect:       19us       2.08s    794.52ms    726.60ms    44.51%
time to 1st byte:     1.83ms       4.78s       1.21s       1.07s    53.52%
req/s           :       0.40      372.02      153.10       73.13    63.35%
[info] CPU 4200.7% | Mem 2.0GiB

=== Best: 616296 req/s (CPU: 4200.7%, Mem: 2.0GiB) ===
[info] saved results/json-h2c/4096/wtx-http2.json
httparena-bench-wtx-http2
httparena-bench-wtx-http2
[info] skip: wtx-http2 does not subscribe to baseline-h3
[info] skip: wtx-http2 does not subscribe to static-h3
[info] skip: wtx-http2 does not subscribe to gateway-64
[info] skip: wtx-http2 does not subscribe to gateway-h3
[info] skip: wtx-http2 does not subscribe to production-stack
[info] skip: wtx-http2 does not subscribe to unary-grpc
[info] skip: wtx-http2 does not subscribe to unary-grpc-tls
[info] skip: wtx-http2 does not subscribe to stream-grpc
[info] skip: wtx-http2 does not subscribe to stream-grpc-tls
[info] skip: wtx-http2 does not subscribe to echo-ws
[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/baseline-h2c-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-h2c-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → performance

@MDA2AV
Copy link
Copy Markdown
Owner

MDA2AV commented Apr 21, 2026

I got it running for now, added baseline and json tests for h2c which was your original goal. I'll try to merge this and then you can improve the code, having too many nightmares with git on this branch

Uh, also there are a trillion logs, if you could look them up probably they are having a lot of impact on performance

like this https://raw.githubusercontent.com/c410-f3r/HttpArena/ef1cc224edab927d9054ae7cb2f45694d6a58398/site/static/logs/baseline-h2c/1024/wtx-http2.log

@c410-f3r
Copy link
Copy Markdown
Contributor Author

Capture d’écran du 2026-04-21 19-27-10

That is a really impactful change! Thank you for adding these features in such a short time!

@MDA2AV
Copy link
Copy Markdown
Owner

MDA2AV commented Apr 21, 2026

That is a really impactful change! Thank you for adding these features in such a short time!

My pleasure, was definitely needed, h2c is quite used between proxies and distributed systems, I did some vandalizing on the code to make it pass validations, you can probably improve it a lot, I suck at Rust

@c410-f3r
Copy link
Copy Markdown
Contributor Author

I got it running for now, added baseline and json tests for h2c which was your original goal. I'll try to merge this and then you can improve the code, having too many nightmares with git on this branch

Uh, also there are a trillion logs, if you could look them up probably they are having a lot of impact on performance

like this https://raw.githubusercontent.com/c410-f3r/HttpArena/ef1cc224edab927d9054ae7cb2f45694d6a58398/site/static/logs/baseline-h2c/1024/wtx-http2.log

ClosedConnection happens because the TCP connection was abruptly closed without a GO_AWAY frame. The same thing probably happened with Http2ErrorGoAway(ProtocolError, UnknownStreamId) at the stream level.

It is just a matter of removing eprintln!. Everything should be good now.

@MDA2AV
Copy link
Copy Markdown
Owner

MDA2AV commented Apr 21, 2026

/benchmark -f wtx-http2 --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 run triggered for wtx-http2 (all tests) with --save. Results will be posted here when done.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: wtx-http2 | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline-h2c 256 703,468 4575.4% 695MiB NEW NEW
baseline-h2c 1024 680,794 5587.1% 1.6GiB NEW NEW
json-h2c 4096 620,656 4189.4% 1.8GiB NEW NEW
Full log

7Warm-up phase is over for thread #Main benchmark duration is started for thread #41

38.
.

.Main benchmark duration is started for thread #7.
.
.
.


.
51.
.Main benchmark duration is started for thread #51.

50.Warm-up phase is over for thread #Warm-up phase is over for thread #
.45.
32..
23.
50Warm-up phase is over for thread #Warm-up phase is over for thread #.Main benchmark duration is started for thread #
30Main benchmark duration is started for thread #32.
.45
.52
.11
.
.
52.
15.
13.
9.
49. Stopping all clients.
40. Stopping all clients.Stopped all clients for thread #59


10Stopped all clients for thread #13
. Stopping all clients.
18
11. Stopping all clients.
16



. Stopping all clients.
. Stopping all clients.

finished in 5.06s, 682525.20 req/s, 23.45MB/s
requests: 3412626 total, 3515026 started, 3412626 done, 3412626 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 3412626 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 117.23MB (122919794) total, 55.33MB (58014642) headers (space savings 58.54%), 3.25MB (3412626) data
                     min         max         mean         sd        +/- sd
time for request:       38us       1.01s    105.96ms     99.19ms    75.88%
time for connect:       18us       3.08s    749.01ms    876.11ms    74.71%
time to 1st byte:     1.62ms       3.28s    815.22ms    958.68ms    74.54%
req/s           :       0.00     1329.08      666.43      278.76    65.23%
[info] CPU 5512.0% | Mem 1.7GiB

=== Best: 680794 req/s (CPU: 5587.1%, Mem: 1.6GiB) ===
[info] saved results/baseline-h2c/1024/wtx-http2.json
httparena-bench-wtx-http2
httparena-bench-wtx-http2

==============================================
=== wtx-http2 / json-h2c / 4096c (tool=h2load) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
starting benchmark...
23.
2progress: .
65% of clients started
Application protocol: h2c
58.




.
3.
.Warm-up phase is over for thread #33.

57. Stopping all clients.
30. Stopping all clients.
26Stopped all clients for thread #30
. Stopping all clients.
51. Stopping all clients.
4. Stopping all clients.
50. Stopping all clients.
20. Stopping all clients.
41
46. Stopping all clients.

finished in 5.11s, 625525.40 req/s, 2.14GB/s
requests: 3127627 total, 3258699 started, 3127627 done, 3127627 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 3127627 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 10.71GB (11498652375) total, 62.64MB (65680167) headers (space savings 55.32%), 10.60GB (11376419317) data
                     min         max         mean         sd        +/- sd
time for request:       53us       3.96s    125.19ms    196.99ms    88.38%
time for connect:       18us       3.08s    914.94ms    706.85ms    57.54%
time to 1st byte:      839us       4.96s       1.43s       1.15s    63.30%
req/s           :       0.00      434.73      152.65       93.60    65.28%
[info] CPU 4086.0% | Mem 1.8GiB

[run 2/3]
starting benchmark...
11.
.Main benchmark duration is started for thread #15.

.Warm-up phase is over for thread #54.

29Main benchmark duration is started for thread #0.
Application protocol: h2c
.
.

.

23.
25.

1.
51.

35


159

5

19Stopped all clients for thread #8
. Stopping all clients.
62. Stopping all clients.
17. Stopping all clients.
53

finished in 5.10s, 633068.80 req/s, 2.17GB/s
requests: 3165344 total, 3296416 started, 3165344 done, 3165344 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 3165346 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 10.84GB (11638365116) total, 63.39MB (66472266) headers (space savings 55.32%), 10.72GB (11514664367) data
                     min         max         mean         sd        +/- sd
time for request:       51us       4.01s    131.81ms    211.95ms    91.52%
time for connect:       16us       2.03s    672.25ms    615.57ms    51.71%
time to 1st byte:     1.84ms       4.66s       1.18s       1.19s    88.98%
req/s           :       0.00      410.58      154.49       87.16    64.21%
[info] CPU 4189.4% | Mem 1.8GiB

[run 3/3]
starting benchmark...
23.
26.

.
37.
Application protocol: h2c



12
25
28
48Main benchmark duration is over for thread #33. Stopping all clients.


finished in 5.11s, 631910.60 req/s, 2.16GB/s
requests: 3159553 total, 3290625 started, 3159553 done, 3159553 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 3159553 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 10.82GB (11616070514) total, 63.28MB (66350613) headers (space savings 55.32%), 10.70GB (11492594419) data
                     min         max         mean         sd        +/- sd
time for request:       50us       3.98s    133.73ms    206.03ms    90.76%
time for connect:       18us       2.09s    674.35ms    641.77ms    49.12%
time to 1st byte:     1.64ms       4.71s       1.13s       1.17s    84.20%
req/s           :       0.00      433.49      154.21       84.57    65.55%
[info] CPU 4128.9% | Mem 1.9GiB

=== Best: 620656 req/s (CPU: 4189.4%, Mem: 1.8GiB) ===
[info] saved results/json-h2c/4096/wtx-http2.json
httparena-bench-wtx-http2
httparena-bench-wtx-http2
[info] skip: wtx-http2 does not subscribe to baseline-h3
[info] skip: wtx-http2 does not subscribe to static-h3
[info] skip: wtx-http2 does not subscribe to gateway-64
[info] skip: wtx-http2 does not subscribe to gateway-h3
[info] skip: wtx-http2 does not subscribe to production-stack
[info] skip: wtx-http2 does not subscribe to unary-grpc
[info] skip: wtx-http2 does not subscribe to unary-grpc-tls
[info] skip: wtx-http2 does not subscribe to stream-grpc
[info] skip: wtx-http2 does not subscribe to stream-grpc-tls
[info] skip: wtx-http2 does not subscribe to echo-ws
[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/baseline-h2c-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2c-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-h2c-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → performance

@MDA2AV MDA2AV merged commit 84226de into MDA2AV:main Apr 21, 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