Skip to content

Add fortunes for aleph#682

Open
ruroru wants to merge 1 commit intoMDA2AV:mainfrom
ruroru:main
Open

Add fortunes for aleph#682
ruroru wants to merge 1 commit intoMDA2AV:mainfrom
ruroru:main

Conversation

@ruroru
Copy link
Copy Markdown
Contributor

@ruroru ruroru commented May 2, 2026

No description provided.

@ruroru
Copy link
Copy Markdown
Contributor Author

ruroru commented May 2, 2026

/benchmark -f ring-http-exchange

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

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

@ruroru ruroru force-pushed the main branch 2 times, most recently from a507bc5 to 7138d11 Compare May 2, 2026 15:56
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

Benchmark Results

Framework: ring-http-exchange | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 1,364,446 6430.2% 13.1GiB +3.4% +4.0%
baseline 4096 1,258,215 6246.8% 13.1GiB +1.6% +0.8%
limited-conn 512 861,662 5649.7% 10.2GiB -1.8% -23.9%
limited-conn 4096 858,861 5604.3% 8.0GiB -4.1% -37.5%
json 4096 469,747 5442.2% 14.1GiB +0.6% +0.7%
json-comp 512 18,832 596.2% 806MiB +0.3% +0.5%
json-comp 4096 141,758 4235.6% 14.5GiB +0.3% +123.1%
json-comp 16384 222,053 6645.1% 15.2GiB +0.5% +1.3%
json-tls 4096 465,179 6514.7% 14.3GiB +1.0% ~0%
upload 32 2,706 2351.5% 368MiB -0.3% +5.1%
upload 256 2,883 4687.8% 392MiB -0.6% ~0%
api-4 256 32,009 389.3% 841MiB +1.6% +16.8%
api-16 1024 76,693 1584.3% 1.7GiB -0.3% +13.3%
static 1024 225,715 6652.4% 4.7GiB -4.2% -2.1%
static 4096 226,709 6553.9% 4.9GiB +0.6% ~0%
static 6800 232,273 6626.4% 5.0GiB +3.0% +2.0%
async-db 1024 76,256 6403.5% 4.9GiB -2.1% +4.3%
crud 4096 320,536 6633.9% 12.5GiB -0.9% -2.3%
fortunes 1024 56,802 2188.6% 1.9GiB NEW NEW
Full log
=== ring-http-exchange / crud / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   13.45ms   1.27ms   4.12ms   319.70ms   684.60ms

  4482209 requests in 15.00s, 4480994 responses
  Throughput: 298.67K req/s
  Bandwidth:  107.80MB/s
  Status codes: 2xx=4480994, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 4480993 / 4480994 responses (100.0%)
  Reconnects: 20381
  Per-template: 147332,152696,170591,189884,207408,226976,241802,253402,261445,262702,262467,260793,262645,262548,262712,263316,246028,213780,179729,152737
  Per-template-ok: 147332,152696,170591,189884,207408,226976,241802,253402,261445,262702,262467,260793,262645,262548,262712,263316,246028,213780,179729,152737
[info] CPU 6462.3% | Mem 14.1GiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   12.67ms   1.83ms   4.05ms   317.90ms   722.70ms

  4762680 requests in 15.00s, 4762679 responses
  Throughput: 317.46K req/s
  Bandwidth:  114.59MB/s
  Status codes: 2xx=4762679, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 4762671 / 4762679 responses (100.0%)
  Reconnects: 21814
  Per-template: 158866,165688,182707,200110,216348,235263,253977,270029,278190,277182,276142,275368,276072,276957,277081,278755,263939,231656,198982,169359
  Per-template-ok: 158866,165688,182707,200110,216348,235263,253977,270029,278190,277182,276142,275368,276072,276957,277081,278755,263939,231656,198982,169359
[info] CPU 6610.9% | Mem 13.3GiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   12.56ms   1.78ms   4.08ms   314.80ms   708.00ms

  4808045 requests in 15.00s, 4808047 responses
  Throughput: 320.47K req/s
  Bandwidth:  115.56MB/s
  Status codes: 2xx=4808047, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 4808036 / 4808047 responses (100.0%)
  Reconnects: 22054
  Per-template: 159004,165358,182399,200153,217467,235114,253098,270274,275490,275472,279549,280890,281667,283037,283327,282038,266016,236350,207078,174254
  Per-template-ok: 159004,165358,182399,200153,217467,235114,253098,270274,275490,275472,279549,280890,281667,283037,283327,282038,266016,236350,207078,174254
[info] CPU 6633.9% | Mem 12.5GiB

=== Best: 320536 req/s (CPU: 6633.9%, Mem: 12.5GiB) ===
[info] input BW: 27.51MB/s (avg template: 90 bytes)
[info] saved results/crud/4096/ring-http-exchange.json
httparena-bench-ring-http-exchange
httparena-bench-ring-http-exchange

==============================================
=== ring-http-exchange / fortunes / 1024c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   19.94ms    409us   60.50ms   120.60ms   324.90ms

  256593 requests in 5.00s, 256593 responses
  Throughput: 51.30K req/s
  Bandwidth:  128.62MB/s
  Status codes: 2xx=256593, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 256593 / 256593 responses (100.0%)
[info] CPU 3374.9% | Mem 1.9GiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   17.94ms    392us   59.30ms   110.70ms   127.50ms

  284012 requests in 5.00s, 284012 responses
  Throughput: 56.78K req/s
  Bandwidth:  142.37MB/s
  Status codes: 2xx=284012, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 284012 / 284012 responses (100.0%)
[info] CPU 2188.6% | Mem 1.9GiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   18.07ms    394us   59.40ms   111.30ms   126.30ms

  281715 requests in 5.00s, 281715 responses
  Throughput: 56.32K req/s
  Bandwidth:  141.23MB/s
  Status codes: 2xx=281715, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 281714 / 281715 responses (100.0%)
[info] CPU 2224.5% | Mem 1.9GiB

=== Best: 56802 req/s (CPU: 2188.6%, Mem: 1.9GiB) ===
[info] saved results/fortunes/1024/ring-http-exchange.json
httparena-bench-ring-http-exchange
httparena-bench-ring-http-exchange
[info] skip: ring-http-exchange does not subscribe to baseline-h2
[info] skip: ring-http-exchange does not subscribe to static-h2
[info] skip: ring-http-exchange does not subscribe to baseline-h2c
[info] skip: ring-http-exchange does not subscribe to json-h2c
[info] skip: ring-http-exchange does not subscribe to baseline-h3
[info] skip: ring-http-exchange does not subscribe to static-h3
[info] skip: ring-http-exchange does not subscribe to gateway-64
[info] skip: ring-http-exchange does not subscribe to gateway-h3
[info] skip: ring-http-exchange does not subscribe to production-stack
[info] skip: ring-http-exchange does not subscribe to unary-grpc
[info] skip: ring-http-exchange does not subscribe to unary-grpc-tls
[info] skip: ring-http-exchange does not subscribe to stream-grpc
[info] skip: ring-http-exchange does not subscribe to stream-grpc-tls
[info] skip: ring-http-exchange 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/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/crud-4096.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-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/limited-conn-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/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
httparena-redis
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@ruroru
Copy link
Copy Markdown
Contributor Author

ruroru commented May 2, 2026

/benchmark -f ring-http-exchange

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

Benchmark Results

Framework: ring-http-exchange | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 1,316,359 6484.3% 13.2GiB -0.2% +4.8%
baseline 4096 1,247,235 6172.0% 13.0GiB +0.8% ~0%
limited-conn 512 875,937 5624.4% 12.7GiB -0.2% -5.2%
limited-conn 4096 862,174 5552.3% 12.8GiB -3.7% ~0%
json 4096 462,586 5814.5% 13.7GiB -1.0% -2.1%
json-comp 512 18,822 553.9% 836MiB +0.2% +4.2%
json-comp 4096 141,279 4358.9% 14.6GiB ~0% +124.6%
json-comp 16384 228,426 6282.1% 14.9GiB +3.4% -0.7%
json-tls 4096 462,447 6514.8% 14.4GiB +0.4% +0.7%
upload 32 2,678 2414.9% 380MiB -1.4% +8.6%
upload 256 2,894 4601.9% 408MiB -0.2% +4.1%
api-4 256 32,497 393.0% 741MiB +3.2% +2.9%
api-16 1024 76,823 1591.0% 1.5GiB -0.2% ~0%
static 1024 234,539 6608.2% 4.7GiB -0.5% -2.1%
static 4096 247,088 6227.8% 4.9GiB +9.7% ~0%
static 6800 221,465 6487.7% 4.9GiB -1.8% ~0%
async-db 1024 79,530 6428.5% 4.7GiB +2.1% ~0%
crud 4096 327,466 6504.6% 12.8GiB +1.2% ~0%
fortunes 1024 58,286 2389.7% 1.9GiB NEW NEW
Full log
=== ring-http-exchange / crud / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   13.41ms   1.22ms   4.10ms   318.30ms   698.00ms

  4513398 requests in 15.00s, 4512310 responses
  Throughput: 300.77K req/s
  Bandwidth:  108.37MB/s
  Status codes: 2xx=4512310, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 4512310 / 4512310 responses (100.0%)
  Reconnects: 20543
  Per-template: 147673,155361,171766,189302,208429,226922,245462,257978,262785,262924,265790,265757,264728,265404,265200,264377,245569,212714,180315,153854
  Per-template-ok: 147673,155361,171766,189302,208429,226922,245462,257978,262785,262924,265790,265757,264728,265404,265200,264377,245569,212714,180315,153854
[info] CPU 6282.1% | Mem 14.0GiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   12.43ms   1.60ms   4.23ms   304.60ms   672.00ms

  4875068 requests in 15.00s, 4875068 responses
  Throughput: 324.95K req/s
  Bandwidth:  117.41MB/s
  Status codes: 2xx=4875068, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 4875068 / 4875068 responses (100.0%)
  Reconnects: 22365
  Per-template: 160945,169293,183186,201781,220320,236766,254548,274284,284523,283965,285264,282596,283437,283916,286537,286329,272162,239223,209566,176427
  Per-template-ok: 160945,169293,183186,201781,220320,236766,254548,274284,284523,283965,285264,282596,283437,283916,286537,286329,272162,239223,209566,176427
[info] CPU 6473.1% | Mem 13.3GiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   12.31ms   1.63ms   4.16ms   303.30ms   676.80ms

  4912002 requests in 15.00s, 4912002 responses
  Throughput: 327.40K req/s
  Bandwidth:  117.73MB/s
  Status codes: 2xx=4912002, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 4912002 / 4912002 responses (100.0%)
  Reconnects: 22515
  Per-template: 160839,169854,185853,201320,220769,239458,257793,273827,285111,287163,288558,291193,292272,292201,289806,286474,267473,238377,208492,175169
  Per-template-ok: 160839,169854,185853,201320,220769,239458,257793,273827,285111,287163,288558,291193,292272,292201,289806,286474,267473,238377,208492,175169
[info] CPU 6504.6% | Mem 12.8GiB

=== Best: 327466 req/s (CPU: 6504.6%, Mem: 12.8GiB) ===
[info] input BW: 28.11MB/s (avg template: 90 bytes)
[info] saved results/crud/4096/ring-http-exchange.json
httparena-bench-ring-http-exchange
httparena-bench-ring-http-exchange

==============================================
=== ring-http-exchange / fortunes / 1024c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   19.27ms    451us   49.20ms   107.00ms   200.30ms

  260452 requests in 5.00s, 260452 responses
  Throughput: 52.07K req/s
  Bandwidth:  131.57MB/s
  Status codes: 2xx=260452, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 260452 / 260452 responses (100.0%)
[info] CPU 3029.4% | Mem 1.9GiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   17.09ms    412us   44.80ms   86.50ms   121.90ms

  291434 requests in 5.00s, 291434 responses
  Throughput: 58.27K req/s
  Bandwidth:  146.78MB/s
  Status codes: 2xx=291434, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 291434 / 291434 responses (100.0%)
[info] CPU 2389.7% | Mem 1.9GiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   17.38ms    423us   44.10ms   85.70ms   120.90ms

  286268 requests in 5.00s, 286268 responses
  Throughput: 57.23K req/s
  Bandwidth:  144.12MB/s
  Status codes: 2xx=286268, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 286266 / 286268 responses (100.0%)
[info] CPU 2275.6% | Mem 1.9GiB

=== Best: 58286 req/s (CPU: 2389.7%, Mem: 1.9GiB) ===
[info] saved results/fortunes/1024/ring-http-exchange.json
httparena-bench-ring-http-exchange
httparena-bench-ring-http-exchange
[info] skip: ring-http-exchange does not subscribe to baseline-h2
[info] skip: ring-http-exchange does not subscribe to static-h2
[info] skip: ring-http-exchange does not subscribe to baseline-h2c
[info] skip: ring-http-exchange does not subscribe to json-h2c
[info] skip: ring-http-exchange does not subscribe to baseline-h3
[info] skip: ring-http-exchange does not subscribe to static-h3
[info] skip: ring-http-exchange does not subscribe to gateway-64
[info] skip: ring-http-exchange does not subscribe to gateway-h3
[info] skip: ring-http-exchange does not subscribe to production-stack
[info] skip: ring-http-exchange does not subscribe to unary-grpc
[info] skip: ring-http-exchange does not subscribe to unary-grpc-tls
[info] skip: ring-http-exchange does not subscribe to stream-grpc
[info] skip: ring-http-exchange does not subscribe to stream-grpc-tls
[info] skip: ring-http-exchange 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/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/crud-4096.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-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/limited-conn-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/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
httparena-redis
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

@ruroru ruroru force-pushed the main branch 6 times, most recently from c7fc750 to dd79182 Compare May 8, 2026 18:37
@ruroru ruroru changed the title Add fortunes for ring-http-exchange Add fortunes for aleph May 8, 2026
@ruroru
Copy link
Copy Markdown
Contributor Author

ruroru commented May 8, 2026

/benchmark -f aleph

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 2026

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 2026

Benchmark Results

Framework: aleph | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 1,200,189 6705.1% 14.4GiB -2.4% -0.7%
baseline 4096 1,204,119 6320.6% 5.3GiB -4.0% -26.4%
limited-conn 512 505,923 3580.7% 5.3GiB -1.9% ~0%
limited-conn 4096 498,360 3358.9% 5.3GiB -1.2% ~0%
json 4096 551,161 5093.0% 7.8GiB +2.3% +16.4%
json-comp 512 227,188 5847.1% 6.8GiB +0.7% +23.6%
json-comp 4096 233,826 6071.7% 6.5GiB -0.4% +3.2%
json-comp 16384 231,440 5855.7% 6.6GiB +0.7% -5.7%
json-tls 4096 600,819 6417.5% 9.8GiB +0.9% +10.1%
upload 32 671 2929.1% 18.3GiB +1.8% -22.1%
upload 256 584 5625.7% 31.6GiB -2.2% +0.3%
api-4 256 35,200 399.9% 910MiB +0.9% +0.7%
api-16 1024 77,215 1626.3% 1.8GiB -1.2% -5.3%
static 1024 22,914 6480.4% 7.7GiB -1.0% +2.7%
static 4096 22,722 6522.3% 10.5GiB +1.7% +43.8%
static 6800 22,126 6419.9% 9.0GiB -0.2% -3.2%
async-db 1024 106,782 4693.9% 5.7GiB -1.6% -6.6%
crud 4096 193,910 4676.0% 14.4GiB +9.9% +5.1%
Full log
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   10.50ms   8.80ms   12.70ms   27.30ms   345.00ms

  946948 requests in 10.00s, 946949 responses
  Throughput: 94.67K req/s
  Bandwidth:  364.88MB/s
  Status codes: 2xx=946949, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 946949 / 946949 responses (100.0%)
  Reconnects: 37383
  Per-template: 188648,189426,189968,189920,188987
  Per-template-ok: 188648,189426,189968,189920,188987
[info] CPU 5184.8% | Mem 5.7GiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     1024 (16/thread)
  Pipeline:  1
  Req/conn:  25
  Templates: 5
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   9.06ms   8.73ms   11.30ms   15.10ms   22.30ms

  1067826 requests in 10.00s, 1067829 responses
  Throughput: 106.76K req/s
  Bandwidth:  411.48MB/s
  Status codes: 2xx=1067829, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1067829 / 1067829 responses (100.0%)
  Reconnects: 42383
  Per-template: 213159,213411,213834,214125,213300
  Per-template-ok: 213159,213411,213834,214125,213300
[info] CPU 4693.9% | Mem 5.7GiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     1024 (16/thread)
  Pipeline:  1
  Req/conn:  25
  Templates: 5
  Expected:  200
  Duration:  10s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   9.32ms   8.99ms   11.70ms   15.40ms   22.10ms

  1046783 requests in 10.00s, 1046787 responses
  Throughput: 104.65K req/s
  Bandwidth:  403.41MB/s
  Status codes: 2xx=1046787, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 1046786 / 1046787 responses (100.0%)
  Reconnects: 41423
  Per-template: 208836,209145,209710,210014,209081
  Per-template-ok: 208836,209145,209710,210013,209081
[info] CPU 4571.8% | Mem 5.6GiB

=== Best: 106782 req/s (CPU: 4693.9%, Mem: 5.7GiB) ===
[info] input BW: 7.13MB/s (avg template: 70 bytes)
[info] saved results/async-db/1024/aleph.json
httparena-bench-aleph
httparena-bench-aleph

==============================================
=== aleph / crud / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   23.12ms   28.80ms   32.20ms   53.70ms   280.50ms

  2527509 requests in 15.00s, 2524592 responses
  Throughput: 168.28K req/s
  Bandwidth:  61.79MB/s
  Status codes: 2xx=2524592, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2524592 / 2524592 responses (100.0%)
  Reconnects: 10936
  Per-template: 92415,97860,118851,124120,139232,139447,138695,139507,139068,139238,139794,139965,139534,139094,139058,139496,129895,105086,91958,92279
  Per-template-ok: 92415,97860,118851,124120,139232,139447,138695,139507,139068,139238,139794,139965,139534,139094,139058,139496,129895,105086,91958,92279
[info] CPU 4755.1% | Mem 14.8GiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   20.29ms   27.80ms   30.20ms   40.30ms   86.30ms

  2911425 requests in 15.00s, 2908663 responses
  Throughput: 193.87K req/s
  Bandwidth:  71.30MB/s
  Status codes: 2xx=2908663, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2908660 / 2908663 responses (100.0%)
  Reconnects: 12533
  Per-template: 104791,114276,126474,139462,158062,162231,161852,161837,162673,161897,161495,162236,162155,160994,160685,161085,151459,125989,105266,103741
  Per-template-ok: 104791,114276,126474,139462,158062,162231,161852,161837,162673,161897,161495,162236,162155,160994,160685,161085,151459,125989,105266,103741
[info] CPU 4676.0% | Mem 14.4GiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   20.54ms   28.20ms   30.70ms   40.40ms   50.00ms

  2865836 requests in 15.00s, 2863044 responses
  Throughput: 190.84K req/s
  Bandwidth:  70.19MB/s
  Status codes: 2xx=2863044, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2863044 / 2863044 responses (100.0%)
  Reconnects: 12310
  Per-template: 103677,110768,126359,136867,154209,158644,158558,158674,159711,159285,158634,158686,159618,158960,158275,159582,149445,124178,105483,103431
  Per-template-ok: 103677,110768,126359,136867,154209,158644,158558,158674,159711,159285,158634,158686,159618,158960,158275,159582,149445,124178,105483,103431
[info] CPU 4678.6% | Mem 13.3GiB

=== Best: 193910 req/s (CPU: 4676.0%, Mem: 14.4GiB) ===
[info] input BW: 16.64MB/s (avg template: 90 bytes)
[info] saved results/crud/4096/aleph.json
httparena-bench-aleph
httparena-bench-aleph
[info] skip: aleph does not subscribe to fortunes
[info] skip: aleph does not subscribe to baseline-h2
[info] skip: aleph does not subscribe to static-h2
[info] skip: aleph does not subscribe to baseline-h2c
[info] skip: aleph does not subscribe to json-h2c
[info] skip: aleph does not subscribe to baseline-h3
[info] skip: aleph does not subscribe to static-h3
[info] skip: aleph does not subscribe to gateway-64
[info] skip: aleph does not subscribe to gateway-h3
[info] skip: aleph does not subscribe to production-stack
[info] skip: aleph does not subscribe to unary-grpc
[info] skip: aleph does not subscribe to unary-grpc-tls
[info] skip: aleph does not subscribe to stream-grpc
[info] skip: aleph does not subscribe to stream-grpc-tls
[info] skip: aleph 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/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/crud-4096.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-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/limited-conn-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/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
httparena-redis
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

uses clojure hiccup
@ruroru
Copy link
Copy Markdown
Contributor Author

ruroru commented May 9, 2026

/benchmark -f aleph

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 9, 2026

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 9, 2026

Benchmark Results

Framework: aleph | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
baseline 512 1,356,838 6691.0% 14.5GiB +10.4% ~0%
baseline 4096 1,256,035 6403.1% 5.3GiB +0.1% -26.4%
limited-conn 512 512,158 3681.5% 5.3GiB -0.7% ~0%
limited-conn 4096 501,709 3385.1% 5.3GiB -0.5% ~0%
json 4096 550,504 5065.1% 7.3GiB +2.2% +9.0%
json-comp 512 222,918 5808.8% 5.8GiB -1.2% +5.5%
json-comp 4096 234,790 6051.2% 6.1GiB ~0% -3.2%
json-comp 16384 232,884 5834.3% 6.8GiB +1.3% -2.9%
json-tls 4096 602,840 6391.8% 9.0GiB +1.3% +1.1%
upload 32 659 2943.2% 20.9GiB ~0% -11.1%
upload 256 583 5609.5% 31.5GiB -2.3% ~0%
api-4 256 35,141 399.2% 911MiB +0.7% +0.8%
api-16 1024 77,327 1659.0% 1.8GiB -1.0% -5.3%
static 1024 22,979 6506.1% 6.8GiB -0.7% -9.3%
static 4096 22,595 6493.9% 9.9GiB +1.1% +35.6%
static 6800 22,216 6477.4% 9.6GiB +0.2% +3.2%
async-db 1024 102,959 4492.6% 6.2GiB -5.2% +1.6%
crud 4096 197,756 4690.1% 13.4GiB +12.1% -2.2%
fortunes 1024 41,431 6379.8% 13.9GiB NEW NEW
Full log
=== aleph / crud / 4096c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

[run 1/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   23.35ms   28.40ms   31.50ms   98.90ms   282.60ms

  2505550 requests in 15.00s, 2502633 responses
  Throughput: 166.81K req/s
  Bandwidth:  61.28MB/s
  Status codes: 2xx=2502633, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2502633 / 2502633 responses (100.0%)
  Reconnects: 10893
  Per-template: 91143,95957,117299,123189,138559,137828,138637,138474,138066,138353,138708,138331,138218,138176,138490,138333,128921,104350,90626,90975
  Per-template-ok: 91143,95957,117299,123189,138559,137828,138637,138474,138066,138353,138708,138331,138218,138176,138490,138333,128921,104350,90626,90975
[info] CPU 4685.2% | Mem 14.8GiB

[run 2/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   19.87ms   27.60ms   29.90ms   39.70ms   49.60ms

  2960140 requests in 15.00s, 2957294 responses
  Throughput: 197.12K req/s
  Bandwidth:  72.54MB/s
  Status codes: 2xx=2957294, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2957294 / 2957294 responses (100.0%)
  Reconnects: 12427
  Per-template: 106231,114462,128722,142394,157912,164134,163704,164098,165256,165125,164194,163984,164839,164179,163904,164395,154836,129603,109351,105971
  Per-template-ok: 106231,114462,128722,142394,157912,164134,163704,164098,165256,165125,164194,163984,164839,164179,163904,164395,154836,129603,109351,105971
[info] CPU 4658.9% | Mem 14.4GiB

[run 3/3]
gcannon v0.5.3
  Target:    localhost:8080/
  Threads:   64
  Conns:     4096 (64/thread)
  Pipeline:  1
  Req/conn:  200
  Templates: 20
  Expected:  200
  Duration:  15s


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   19.91ms   27.50ms   29.80ms   40.20ms   48.90ms

  2968758 requests in 15.00s, 2966348 responses
  Throughput: 197.72K req/s
  Bandwidth:  72.66MB/s
  Status codes: 2xx=2966348, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 2966348 / 2966348 responses (100.0%)
  Reconnects: 12476
  Per-template: 106404,113817,127948,141815,158464,165186,165209,164668,165801,165064,164679,165647,167115,166600,164979,164369,154151,129110,109279,106043
  Per-template-ok: 106404,113817,127948,141815,158464,165186,165209,164668,165801,165064,164679,165647,167115,166600,164979,164369,154151,129110,109279,106043
[info] CPU 4690.1% | Mem 13.4GiB

=== Best: 197756 req/s (CPU: 4690.1%, Mem: 13.4GiB) ===
[info] input BW: 16.97MB/s (avg template: 90 bytes)
[info] saved results/crud/4096/aleph.json
httparena-bench-aleph
httparena-bench-aleph

==============================================
=== aleph / fortunes / 1024c (tool=gcannon) ===
==============================================
[info] waiting for server...
[info] server ready

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   39.74ms   24.50ms   77.10ms   201.30ms   636.90ms

  127973 requests in 5.01s, 127973 responses
  Throughput: 25.57K req/s
  Bandwidth:  607.35MB/s
  Status codes: 2xx=127973, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 127973 / 127973 responses (100.0%)
[info] CPU 6188.7% | Mem 14.8GiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   24.02ms   22.90ms   30.50ms   41.70ms   92.30ms

  206763 requests in 5.00s, 206763 responses
  Throughput: 41.31K req/s
  Bandwidth:  981.42MB/s
  Status codes: 2xx=206763, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 206762 / 206763 responses (100.0%)
[info] CPU 6387.1% | Mem 14.4GiB

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


  Thread Stats   Avg      p50      p90      p99    p99.9
    Latency   23.94ms   22.90ms   30.20ms   40.50ms   132.80ms

  207156 requests in 5.00s, 207156 responses
  Throughput: 41.41K req/s
  Bandwidth:  983.75MB/s
  Status codes: 2xx=207156, 3xx=0, 4xx=0, 5xx=0
  Latency samples: 207154 / 207156 responses (100.0%)
[info] CPU 6379.8% | Mem 13.9GiB

=== Best: 41431 req/s (CPU: 6379.8%, Mem: 13.9GiB) ===
[info] saved results/fortunes/1024/aleph.json
httparena-bench-aleph
httparena-bench-aleph
[info] skip: aleph does not subscribe to baseline-h2
[info] skip: aleph does not subscribe to static-h2
[info] skip: aleph does not subscribe to baseline-h2c
[info] skip: aleph does not subscribe to json-h2c
[info] skip: aleph does not subscribe to baseline-h3
[info] skip: aleph does not subscribe to static-h3
[info] skip: aleph does not subscribe to gateway-64
[info] skip: aleph does not subscribe to gateway-h3
[info] skip: aleph does not subscribe to production-stack
[info] skip: aleph does not subscribe to unary-grpc
[info] skip: aleph does not subscribe to unary-grpc-tls
[info] skip: aleph does not subscribe to stream-grpc
[info] skip: aleph does not subscribe to stream-grpc-tls
[info] skip: aleph 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/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/crud-4096.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-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/limited-conn-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/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
httparena-redis
[info] restoring loopback MTU to 65536
[info] restoring CPU governor → powersave

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.

1 participant