Skip to content

Add true-async-server framework#730

Closed
EdmondDantes wants to merge 2 commits into
MDA2AV:mainfrom
true-async:true-async-2
Closed

Add true-async-server framework#730
EdmondDantes wants to merge 2 commits into
MDA2AV:mainfrom
true-async:true-async-2

Conversation

@EdmondDantes
Copy link
Copy Markdown
Contributor

Registers the true-async/server framework — a native PHP HTTP server built on the TrueAsync coroutine engine (no Caddy / FrankenPHP / FastCGI in front).

What's here

frameworks/true-async-server/ (9 files):

  • Dockerfile — pins base image to trueasync/php-true-async:0.7.0-beta.2-php8.6 (PHP 8.6 + TrueAsync ABI v0.16 + true-async-server v0.6.1).
  • entry.php — handlers covering the 18 profiles subscribed in meta.json.
  • PostgreSQL.php / SQLite.php — DB adapters using the native PDO connection pool.
  • meta.json — framework metadata + test subscription list.
  • docker-compose.yml — local dev compose stack.
  • test/Dockerfile, test/validate.sh — per-framework test harness.

Subscribed profiles (18)

baseline, pipelined, limited-conn, json, json-comp, json-tls, upload, api-4, api-16, static, static-h2, baseline-h2, baseline-h2c, json-h2c, baseline-h3, static-h3, async-db, fortunes.

Validation

SKIP_TUNE=true ./scripts/validate.sh true-async-server57 passed, 0 failed (validated against latest base image with HttpArena's bundled validate suite, including the recent TCP fragmentation tests).

Notes

  • site/data/frameworks.json registration is intentionally omitted — happy to add it in this PR or a follow-up depending on your preference for site listing.
  • Site bench artifacts (site/data/*.json, site/static/logs/*) are not included — those are regenerated by benchmark.sh --save runs.

@EdmondDantes
Copy link
Copy Markdown
Contributor Author

/benchmark -f true-async-server

@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: true-async-server | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,134,888 6684.9% 184MiB NEW NEW
baseline 4096 2,232,801 6012.4% 217MiB NEW NEW
pipelined 512 2,918,538 6610.0% 158MiB NEW NEW
pipelined 4096 2,253,860 5996.4% 211MiB NEW NEW
json 4096 1,009,147 6477.8% 271MiB NEW NEW
json-comp 512 284,323 5767.8% 203MiB NEW NEW
json-comp 4096 290,697 6288.1% 295MiB NEW NEW
json-comp 16384 282,033 6461.3% 519MiB NEW NEW
json-tls 4096 787,033 6229.7% 619MiB NEW NEW
upload 32 2,594 1889.0% 294MiB NEW NEW
upload 256 3,006 3674.3% 532MiB NEW NEW
api-4 256 57,175 394.7% 43MiB NEW NEW
api-16 1024 154,429 1575.2% 78MiB NEW NEW
static 1024 599,376 3190.9% 173MiB NEW NEW
static 4096 618,487 3251.1% 254MiB NEW NEW
static 6800 606,541 3152.4% 318MiB NEW NEW
async-db 1024 246,343 4663.4% 228MiB NEW NEW
fortunes 1024 87,307 6300.7% 223MiB NEW NEW
baseline-h2 256 5,211,353 6995.8% 249MiB NEW NEW
baseline-h2 1024 3,582,639 6953.8% 527MiB NEW NEW
static-h2 256 1,021,834 6657.9% 534MiB NEW NEW
static-h2 1024 828,748 6576.5% 1.4GiB NEW NEW
baseline-h2c 256 5,699,619 7227.9% 244MiB NEW NEW
baseline-h2c 1024 4,151,633 7248.3% 482MiB NEW NEW
baseline-h2c 4096 3,688,938 7489.2% 1.5GiB NEW NEW
json-h2c 1024 1,252,162 7391.2% 317MiB NEW NEW
json-h2c 4096 1,226,055 6994.9% 812MiB NEW NEW
baseline-h3 64 1,277 11.2% 155MiB NEW NEW
static-h3 64 0 8.5% 151MiB NEW NEW
Full log


1218

. Stopping all clients.

finished in 5.02s, 1280.00 req/s, 26.51KB/s
requests: 6400 total, 10496 started, 6400 done, 0 succeeded, 6400 failed, 0 errored, 0 timeout
status codes: 0 2xx, 0 3xx, 6400 4xx, 0 5xx
traffic: 132.56KB (135744) total, 25.00KB (25600) headers (space savings 87.50%), 81.25KB (83200) data
UDP datagram: 3623 sent, 7365 received
                 min         max         median     p95        p99        mean         sd        +/- sd
request     :      698us     10.99ms      2.79ms     9.07ms    10.59ms     3.28ms      2.11ms    80.73%
connect     :     2.38ms      6.58ms      3.99ms     5.85ms     6.58ms     4.22ms      1.10ms    64.06%
TTFB        :     3.99ms     14.35ms      6.78ms    12.63ms    14.35ms     7.35ms      2.55ms    76.56%
req/s       :      19.98       20.00       19.98      19.99      20.00      19.98        0.00    89.06%
min RTT     :       41us       623us       277us      541us      623us      291us       139us    71.88%
smoothed RTT:      568us      2.42ms      1.13ms     1.68ms     2.42ms     1.24ms       333us    67.19%
packets sent:         31          77          60         71         77      58.61        7.82    76.56%
packets recv:        113         123         117        121        123     117.08        2.21    76.56%
packets lost:          0           0           0          0          0       0.00        0.00   100.00%
GRO packets :          1           2           1          1          2       1.02        0.14    98.02%
[info] CPU 8.5% | Mem 151MiB

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

.
15.
.

TLS Protocol: TLSv1.3
Cipher: TLS_AES_256_GCM_SHA384
Server Temp Key: X25519 253 bits
Certificate: RSA 2048 bits
Negotiated Group: x25519
Resumption: no
Application protocol: h3
31Stopped all clients for thread #0
. Stopping all clients.36Main benchmark duration is over for thread #. Stopping all clients.
55. Stopping all clients.

. Stopping all clients.Stopped all clients for thread #55
6. Stopping all clients.. Stopping all clients.
. Stopping all clients.Stopped all clients for thread #6

26. Stopping all clients.


1853Stopped all clients for thread #4
61. Stopping all clients.
. Stopping all clients.. Stopping all clients.

. Stopping all clients.
62. Stopping all clients.
38Stopped all clients for thread #19

. Stopping all clients.
3. Stopping all clients.
3263. Stopping all clients.
. Stopping all clients.Stopped all clients for thread #35


47. Stopping all clients.
43. Stopping all clients.

finished in 5.02s, 1280.00 req/s, 26.51KB/s
requests: 6400 total, 10496 started, 6400 done, 0 succeeded, 6400 failed, 0 errored, 0 timeout
status codes: 0 2xx, 0 3xx, 6400 4xx, 0 5xx
traffic: 132.56KB (135744) total, 25.00KB (25600) headers (space savings 87.50%), 81.25KB (83200) data
UDP datagram: 3331 sent, 7332 received
                 min         max         median     p95        p99        mean         sd        +/- sd
request     :      685us      6.41ms      1.67ms     4.05ms     4.87ms     1.91ms       940us    77.94%
connect     :     1.73ms      5.54ms      2.99ms     4.38ms     5.54ms     2.94ms       803us    68.75%
TTFB        :     2.49ms      8.04ms      4.51ms     7.14ms     8.04ms     4.58ms      1.25ms    71.88%
req/s       :      19.97       20.00       19.98      19.99      20.00      19.98        0.00    81.25%
min RTT     :       63us       819us       318us      688us      819us      326us       190us    68.75%
smoothed RTT:      597us      2.01ms      1.01ms     1.72ms     2.01ms     1.05ms       328us    71.88%
packets sent:         32          78          54         68         78      54.05        9.26    71.88%
packets recv:        112         126         116        121        126     116.56        2.32    76.56%
packets lost:          0           0           0          0          0       0.00        0.00   100.00%
GRO packets :          1           2           1          1          2       1.02        0.14    98.05%
[info] CPU 7.3% | Mem 164MiB

[run 3/3]
starting benchmark...
.
36Main benchmark duration is started for thread #58.
.

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

36. Stopping all clients.
41. Stopping all clients.
59. Stopping all clients.
38Stopped all clients for thread #61
. Stopping all clients.

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

43. Stopping all clients.
42. Stopping all clients.

63. Stopping all clients.
15. Stopping all clients.Main benchmark duration is over for thread #
52. Stopping all clients.
5162. Stopping all clients.
. Stopping all clients.
. Stopping all clients.

25. Stopping all clients.
35Stopped all clients for thread #37
. Stopping all clients.Stopped all clients for thread #45
. Stopping all clients.


. Stopping all clients.
48. Stopping all clients.

55Stopped all clients for thread #48


. Stopping all clients.

finished in 5.02s, 1280.00 req/s, 26.51KB/s
requests: 6400 total, 10496 started, 6400 done, 0 succeeded, 6400 failed, 0 errored, 0 timeout
status codes: 0 2xx, 0 3xx, 6400 4xx, 0 5xx
traffic: 132.56KB (135744) total, 25.00KB (25600) headers (space savings 87.50%), 81.25KB (83200) data
UDP datagram: 3209 sent, 7280 received
                 min         max         median     p95        p99        mean         sd        +/- sd
request     :      456us      5.63ms      1.48ms     4.24ms     5.36ms     1.88ms      1.09ms    79.63%
connect     :     1.73ms      5.05ms      2.86ms     4.22ms     5.05ms     2.91ms       730us    67.19%
TTFB        :     2.48ms      8.70ms      4.25ms     7.22ms     8.70ms     4.54ms      1.42ms    70.31%
req/s       :      19.97       20.00       19.98      19.99      20.00      19.98        0.01    85.94%
min RTT     :       62us       980us       283us      663us      980us      325us       190us    68.75%
smoothed RTT:      582us      1.77ms      1.00ms     1.73ms     1.77ms     1.04ms       303us    68.75%
packets sent:         26          74          55         63         74      52.14       10.27    76.56%
packets recv:        112         122         116        119        122     115.75        2.05    67.19%
packets lost:          0           0           0          0          0       0.00        0.00   100.00%
GRO packets :          1           2           1          1          2       1.02        0.14    98.11%
[info] CPU 7.8% | Mem 172MiB

=== Best: 0 req/s (CPU: 8.5%, Mem: 151MiB) ===
[info] saved results/static-h3/64/true-async-server.json
httparena-bench-true-async-server
httparena-bench-true-async-server
[info] skip: true-async-server does not subscribe to gateway-64
[info] skip: true-async-server does not subscribe to gateway-h3
[info] skip: true-async-server does not subscribe to production-stack
[info] skip: true-async-server does not subscribe to unary-grpc
[info] skip: true-async-server does not subscribe to unary-grpc-tls
[info] skip: true-async-server does not subscribe to stream-grpc
[info] skip: true-async-server does not subscribe to stream-grpc-tls
[info] skip: true-async-server does not subscribe to echo-ws
[info] skip: true-async-server does not subscribe to echo-ws-pipeline
[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/api-16-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/api-4-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/async-db-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-256.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/baseline-h2c-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/fortunes-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-h2c-1024.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/json-tls-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
httparena-postgres
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@EdmondDantes
Copy link
Copy Markdown
Contributor Author

/benchmark --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 --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.

@EdmondDantes
Copy link
Copy Markdown
Contributor Author

/benchmark --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: true-async-server | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,117,355 6715.1% 184MiB NEW NEW
baseline 4096 2,240,522 5760.0% 208MiB NEW NEW
pipelined 512 2,878,827 6510.2% 156MiB NEW NEW
pipelined 4096 2,283,280 5984.4% 211MiB NEW NEW
json 4096 1,010,037 6177.9% 256MiB NEW NEW
json-comp 512 284,671 5832.8% 203MiB NEW NEW
json-comp 4096 292,162 6314.4% 294MiB NEW NEW
json-comp 16384 281,988 6007.7% 499MiB NEW NEW
json-tls 4096 784,709 5965.2% 734MiB NEW NEW
upload 32 2,560 1804.2% 280MiB NEW NEW
upload 256 3,036 3667.3% 554MiB NEW NEW
api-4 256 54,996 394.1% 43MiB NEW NEW
api-16 1024 153,876 1576.9% 78MiB NEW NEW
static 1024 603,148 3187.0% 174MiB NEW NEW
static 4096 622,735 3220.9% 251MiB NEW NEW
static 6800 616,138 3139.2% 317MiB NEW NEW
async-db 1024 249,779 4931.9% 245MiB NEW NEW
fortunes 1024 87,301 6323.6% 222MiB NEW NEW
baseline-h2 256 5,235,211 7109.7% 260MiB NEW NEW
baseline-h2 1024 3,582,272 7338.1% 615MiB NEW NEW
static-h2 256 1,028,388 6514.3% 500MiB NEW NEW
static-h2 1024 826,913 6575.5% 1.4GiB NEW NEW
baseline-h2c 256 5,704,563 7117.8% 243MiB NEW NEW
baseline-h2c 1024 3,965,634 7488.7% 530MiB NEW NEW
baseline-h2c 4096 3,692,024 7415.6% 1.5GiB NEW NEW
json-h2c 1024 1,244,830 7366.3% 316MiB NEW NEW
json-h2c 4096 1,225,077 7018.1% 806MiB NEW NEW
baseline-h3 64 1,277 12.7% 155MiB NEW NEW
static-h3 64 0 7.9% 150MiB NEW NEW
Full log
starting benchmark...
.Main benchmark duration is started for thread #63.

19.


49.
TLS Protocol: TLSv1.3
Cipher: TLS_AES_256_GCM_SHA384
Server Temp Key: X25519 253 bits
Certificate: RSA 2048 bits
Negotiated Group: x25519
Resumption: no
Application protocol: h3
. Stopping all clients.
12Stopped all clients for thread #1
38. Stopping all clients.
. Stopping all clients.
43
. Stopping all clients.
52. Stopping all clients.

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

28. Stopping all clients.
. Stopping all clients.


finished in 5.02s, 1280.00 req/s, 26.51KB/s
requests: 6400 total, 10496 started, 6400 done, 0 succeeded, 6400 failed, 0 errored, 0 timeout
status codes: 0 2xx, 0 3xx, 6400 4xx, 0 5xx
traffic: 132.56KB (135744) total, 25.00KB (25600) headers (space savings 87.50%), 81.25KB (83200) data
UDP datagram: 3327 sent, 7304 received
                 min         max         median     p95        p99        mean         sd        +/- sd
request     :      773us     10.39ms      2.33ms     5.75ms     9.02ms     2.80ms      1.69ms    76.45%
connect     :     2.18ms      6.38ms      3.55ms     5.20ms     6.38ms     3.65ms       856us    68.75%
TTFB        :     3.02ms     12.67ms      5.92ms     9.94ms    12.67ms     6.29ms      1.87ms    82.81%
req/s       :      19.98       20.00       19.98      19.99      20.00      19.98        0.00    87.50%
min RTT     :       41us      1.10ms       324us      680us     1.10ms      343us       189us    71.88%
smoothed RTT:      667us      2.92ms      1.19ms     2.53ms     2.92ms     1.35ms       506us    71.88%
packets sent:         32          73          55         68         73      53.98        8.18    73.44%
packets recv:        112         120         116        120        120     116.12        1.87    57.81%
packets lost:          0           0           0          0          0       0.00        0.00   100.00%
GRO packets :          1           2           1          1          2       1.02        0.14    98.02%
[info] CPU 7.9% | Mem 150MiB

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

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

863. Stopping all clients.
. Stopping all clients.

59. Stopping all clients.2
. Stopping all clients.



56
38. Stopping all clients.
30. Stopping all clients.
0. Stopping all clients.
35. Stopping all clients.
28. Stopping all clients.

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

41Stopped all clients for thread #13

. Stopping all clients.

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

53. Stopping all clients.
61. Stopping all clients.


finished in 5.02s, 1280.00 req/s, 26.51KB/s
requests: 6400 total, 10496 started, 6400 done, 0 succeeded, 6400 failed, 0 errored, 0 timeout
status codes: 0 2xx, 0 3xx, 6400 4xx, 0 5xx
traffic: 132.56KB (135744) total, 25.00KB (25600) headers (space savings 87.50%), 81.25KB (83200) data
UDP datagram: 3279 sent, 7292 received
                 min         max         median     p95        p99        mean         sd        +/- sd
request     :      676us      5.77ms      1.81ms     4.26ms     5.20ms     2.13ms      1.09ms    68.56%
connect     :     1.72ms      6.56ms      3.42ms     5.49ms     6.56ms     3.57ms      1.07ms    68.75%
TTFB        :     2.67ms     10.11ms      5.04ms     8.94ms    10.11ms     5.43ms      1.79ms    68.75%
req/s       :      19.97       20.00       19.98      19.99      20.00      19.98        0.01    84.38%
min RTT     :       41us       891us       253us      681us      891us      307us       191us    71.88%
smoothed RTT:      575us      2.72ms      1.09ms     2.08ms     2.72ms     1.20ms       442us    75.00%
packets sent:         31          70          56         66         70      53.23        8.79    70.31%
packets recv:        112         121         116        120        121     115.94        2.13    76.56%
packets lost:          0           0           0          0          0       0.00        0.00   100.00%
GRO packets :          1           2           1          1          2       1.02        0.14    98.01%
[info] CPU 9.0% | Mem 166MiB

[run 3/3]
starting benchmark...


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

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

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

24. Stopping all clients.
32. Stopping all clients.

63. Stopping all clients.
40. Stopping all clients.Main benchmark duration is over for thread #Stopped all clients for thread #26
35. Stopping all clients.
42
38. Stopping all clients.
11. Stopping all clients.

finished in 5.02s, 1280.00 req/s, 26.51KB/s
requests: 6400 total, 10496 started, 6400 done, 0 succeeded, 6400 failed, 0 errored, 0 timeout
status codes: 0 2xx, 0 3xx, 6400 4xx, 0 5xx
traffic: 132.56KB (135744) total, 25.00KB (25600) headers (space savings 87.50%), 81.25KB (83200) data
UDP datagram: 3172 sent, 7306 received
                 min         max         median     p95        p99        mean         sd        +/- sd
request     :      639us      5.15ms      1.43ms     3.85ms     4.86ms     1.73ms       905us    82.47%
connect     :     1.78ms      5.53ms      2.68ms     4.37ms     5.53ms     2.84ms       794us    70.31%
TTFB        :     2.56ms      8.56ms      4.08ms     5.92ms     8.56ms     4.24ms      1.17ms    73.44%
req/s       :      19.98       20.00       19.98      19.99      20.00      19.98        0.00    89.06%
min RTT     :       63us       691us       307us      597us      691us      321us       159us    65.63%
smoothed RTT:      592us      1.97ms       956us     1.56ms     1.97ms     1.03ms       297us    62.50%
packets sent:         22          74          54         64         74      51.56       11.03    67.19%
packets recv:        112         124         116        120        124     116.16        2.32    75.00%
packets lost:          0           0           0          0          0       0.00        0.00   100.00%
GRO packets :          1           2           1          1          2       1.02        0.14    97.93%
[info] CPU 7.6% | Mem 172MiB

=== Best: 0 req/s (CPU: 7.9%, Mem: 150MiB) ===
[info] saved results/static-h3/64/true-async-server.json
httparena-bench-true-async-server
httparena-bench-true-async-server
[info] skip: true-async-server does not subscribe to gateway-64
[info] skip: true-async-server does not subscribe to gateway-h3
[info] skip: true-async-server does not subscribe to production-stack
[info] skip: true-async-server does not subscribe to unary-grpc
[info] skip: true-async-server does not subscribe to unary-grpc-tls
[info] skip: true-async-server does not subscribe to stream-grpc
[info] skip: true-async-server does not subscribe to stream-grpc-tls
[info] skip: true-async-server does not subscribe to echo-ws
[info] skip: true-async-server does not subscribe to echo-ws-pipeline
[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/api-16-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/api-4-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/async-db-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-256.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/baseline-h2c-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/fortunes-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-h2c-1024.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/json-tls-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
httparena-postgres
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@MDA2AV
Copy link
Copy Markdown
Owner

MDA2AV commented May 18, 2026

/benchmark -f true-async-server --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: true-async-server | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 2,077,175 6527.3% 185MiB NEW NEW
baseline 4096 2,246,551 6035.4% 219MiB NEW NEW
pipelined 512 2,931,334 6480.4% 156MiB NEW NEW
limited-conn 4096 1,807,367 6506.9% 191MiB NEW NEW
json 4096 1,011,231 6482.1% 264MiB NEW NEW
json-comp 512 282,999 5792.8% 202MiB NEW NEW
json-comp 4096 290,317 6183.2% 280MiB NEW NEW
json-comp 16384 281,915 6025.4% 500MiB NEW NEW
json-tls 4096 784,869 6303.5% 619MiB NEW NEW
upload 32 2,591 1866.6% 313MiB NEW NEW
upload 256 3,036 3782.3% 527MiB NEW NEW
api-4 256 56,644 395.2% 41MiB NEW NEW
api-16 1024 154,402 1581.1% 78MiB NEW NEW
static 1024 600,936 3211.9% 174MiB NEW NEW
static 4096 624,155 3224.1% 250MiB NEW NEW
static 6800 613,965 3300.5% 321MiB NEW NEW
async-db 1024 248,653 4749.7% 226MiB NEW NEW
fortunes 1024 87,131 6492.2% 230MiB NEW NEW
baseline-h2 256 5,419,640 6760.4% 252MiB NEW NEW
baseline-h2 1024 3,547,639 7333.5% 621MiB NEW NEW
static-h2 256 1,026,326 6394.1% 604MiB NEW NEW
static-h2 1024 822,840 6563.2% 2.2GiB NEW NEW
baseline-h2c 256 5,645,655 7188.3% 242MiB NEW NEW
baseline-h2c 1024 4,023,008 7522.7% 539MiB NEW NEW
baseline-h2c 4096 3,670,473 6846.5% 1.4GiB NEW NEW
json-h2c 1024 1,245,217 7367.4% 317MiB NEW NEW
json-h2c 4096 1,243,901 7238.7% 780MiB NEW NEW
baseline-h3 64 1,277 10.8% 154MiB NEW NEW
static-h3 64 0 12.6% 151MiB NEW NEW
Full log
starting benchmark...
.

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


9
25. Stopping all clients.
53. Stopping all clients.
. Stopping all clients.

finished in 5.02s, 1280.00 req/s, 26.51KB/s
requests: 6400 total, 10496 started, 6400 done, 0 succeeded, 6400 failed, 0 errored, 0 timeout
status codes: 0 2xx, 0 3xx, 6400 4xx, 0 5xx
traffic: 132.56KB (135744) total, 25.00KB (25600) headers (space savings 87.50%), 81.25KB (83200) data
UDP datagram: 3581 sent, 7348 received
                 min         max         median     p95        p99        mean         sd        +/- sd
request     :      904us      8.13ms      2.28ms     5.58ms     6.95ms     2.69ms      1.45ms    72.23%
connect     :     2.21ms      6.39ms      3.34ms     4.75ms     6.39ms     3.46ms       747us    71.88%
TTFB        :     3.52ms      9.63ms      5.55ms     8.93ms     9.63ms     5.87ms      1.61ms    65.63%
req/s       :      19.98       19.99       19.98      19.99      19.99      19.98        0.00    82.81%
min RTT     :       42us      1.04ms       272us      521us     1.04ms      316us       174us    79.69%
smoothed RTT:      597us      2.20ms      1.14ms     1.82ms     2.20ms     1.16ms       315us    71.88%
packets sent:         39          82          58         71         82      57.95        8.29    71.88%
packets recv:        113         123         117        121        123     116.81        2.28    78.13%
packets lost:          0           0           0          0          0       0.00        0.00   100.00%
GRO packets :          1           2           1          1          2       1.02        0.14    98.09%
[info] CPU 12.6% | Mem 151MiB

[run 2/3]
starting benchmark...
62Main benchmark duration is started for thread #58.
.
.
24Main benchmark duration is started for thread #25.
.
TLS Protocol: TLSv1.3
Cipher: TLS_AES_256_GCM_SHA384
Server Temp Key: X25519 253 bits
Certificate: RSA 2048 bits
Negotiated Group: x25519
Resumption: no
Application protocol: h3
60. Stopping all clients.
46. Stopping all clients.Stopped all clients for thread #52
. Stopping all clients.


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

. Stopping all clients.
12. Stopping all clients.
33
29. Stopping all clients.
39Stopped all clients for thread #. Stopping all clients.48

47. Stopping all clients.
50Stopped all clients for thread #57
. Stopping all clients.
56
55. Stopping all clients.

finished in 5.02s, 1280.00 req/s, 26.51KB/s
requests: 6400 total, 10496 started, 6400 done, 0 succeeded, 6400 failed, 0 errored, 0 timeout
status codes: 0 2xx, 0 3xx, 6400 4xx, 0 5xx
traffic: 132.56KB (135744) total, 25.00KB (25600) headers (space savings 87.50%), 81.25KB (83200) data
UDP datagram: 3369 sent, 7350 received
                 min         max         median     p95        p99        mean         sd        +/- sd
request     :      479us      6.59ms      1.59ms     3.64ms     4.34ms     1.81ms       828us    74.59%
connect     :     1.81ms      4.47ms      2.87ms     3.99ms     4.47ms     2.85ms       659us    65.63%
TTFB        :     2.54ms      7.07ms      4.24ms     6.10ms     7.07ms     4.34ms      1.08ms    62.50%
req/s       :      19.97       19.99       19.98      19.99      19.99      19.98        0.00    85.94%
min RTT     :       50us      1.26ms       230us      696us     1.26ms      309us       224us    85.94%
smoothed RTT:      539us      1.85ms       936us     1.61ms     1.85ms     1.02ms       308us    71.88%
packets sent:         33          78          55         72         78      54.64       10.82    67.19%
packets recv:        112         123         117        121        123     116.84        2.41    70.31%
packets lost:          0           0           0          0          0       0.00        0.00   100.00%
GRO packets :          1           2           1          1          2       1.02        0.14    97.97%
[info] CPU 7.7% | Mem 161MiB

[run 3/3]
starting benchmark...
20Warm-up started for thread #17.
.
.
TLS Protocol: TLSv1.3
Cipher: TLS_AES_256_GCM_SHA384
Server Temp Key: X25519 253 bits
Certificate: RSA 2048 bits
Negotiated Group: x25519
Resumption: no
Application protocol: h3

0. Stopping all clients.25
. Stopping all clients.

105. Stopping all clients.. Stopping all clients.

6Stopped all clients for thread #. Stopping all clients.5

0
36. Stopping all clients.

2. Stopping all clients.

35. Stopping all clients.
29Main benchmark duration is over for thread #Stopped all clients for thread #1920. Stopping all clients.

204

9. Stopping all clients.Stopped all clients for thread #
24
11Stopped all clients for thread #4Stopped all clients for thread #13

. Stopping all clients.


31. Stopping all clients.
45Stopped all clients for thread #37
. Stopping all clients.
34. Stopping all clients.
58Stopped all clients for thread #57
. Stopping all clients.

finished in 5.02s, 1280.00 req/s, 26.51KB/s
requests: 6400 total, 10496 started, 6400 done, 0 succeeded, 6400 failed, 0 errored, 0 timeout
status codes: 0 2xx, 0 3xx, 6400 4xx, 0 5xx
traffic: 132.56KB (135744) total, 25.00KB (25600) headers (space savings 87.50%), 81.25KB (83200) data
UDP datagram: 3385 sent, 7336 received
                 min         max         median     p95        p99        mean         sd        +/- sd
request     :      626us      5.18ms      1.56ms     3.86ms     4.32ms     1.89ms       955us    71.03%
connect     :     1.67ms      5.14ms      2.78ms     4.46ms     5.14ms     2.94ms       780us    68.75%
TTFB        :     2.56ms      8.27ms      4.20ms     6.76ms     8.27ms     4.50ms      1.29ms    71.88%
req/s       :      19.97       19.99       19.98      19.99      19.99      19.98        0.00    82.81%
min RTT     :       40us       999us       306us      630us      999us      320us       181us    73.44%
smoothed RTT:      628us      2.00ms       943us     1.57ms     2.00ms     1.02ms       288us    78.13%
packets sent:         33          74          56         69         74      54.89        9.49    68.75%
packets recv:        112         122         116        120        122     116.62        2.13    64.06%
packets lost:          0           0           0          0          0       0.00        0.00   100.00%
GRO packets :          1           2           1          1          2       1.02        0.14    98.05%
[info] CPU 8.4% | Mem 165MiB

=== Best: 0 req/s (CPU: 12.6%, Mem: 151MiB) ===
[info] saved results/static-h3/64/true-async-server.json
httparena-bench-true-async-server
httparena-bench-true-async-server
[info] skip: true-async-server does not subscribe to gateway-64
[info] skip: true-async-server does not subscribe to gateway-h3
[info] skip: true-async-server does not subscribe to production-stack
[info] skip: true-async-server does not subscribe to unary-grpc
[info] skip: true-async-server does not subscribe to unary-grpc-tls
[info] skip: true-async-server does not subscribe to stream-grpc
[info] skip: true-async-server does not subscribe to stream-grpc-tls
[info] skip: true-async-server does not subscribe to echo-ws
[info] skip: true-async-server does not subscribe to echo-ws-pipeline
[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/api-16-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/api-4-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/async-db-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h2-256.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/baseline-h2c-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/baseline-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/fortunes-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-16384.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-comp-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/json-h2c-1024.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/json-tls-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/limited-conn-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/pipelined-512.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-4096.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-6800.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h2-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/static-h3-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/upload-32.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
httparena-postgres
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@EdmondDantes
Copy link
Copy Markdown
Contributor Author

Hi! The Warning: could not push to fork (permissions) in the benchmark workflow is caused by GitHub's known limitation with org-owned forks — maintainer_can_modify is set to true in the API but GITHUB_TOKEN still can't push to org forks (only user forks).
A simple solution is to submit the PR from a private fork.

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