HttpArena
Frameworks

roadrunner

Emerging · Erlang · standard configuration

Roadrunner: pure-Erlang HTTP/1.1 + HTTP/2 + HTTP/3 + WebSocket server from the Arizona framework.

Composite rank

Each profile of a family is worth 100 to the entry that leads it, and the composite is the sum over the family. The field is this entry's own league: engines and reverse proxies are scored apart from frameworks. How it works.

FamilyRankComposite
HTTP/1.125 of 71305
HTTP/211 of 1634
HTTP/36 of 68
WebSocket17 of 2020

Every result

Alpha Round, 41 runs. Requests per second is the best of three; latency, CPU and memory come from that run.

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline512833,311193us399us6413.0%280MiB
ConnectionBaseline4,096846,968217us391us6217.2%288MiB
ConnectionPipelined5121,408,4302.12ms25.90ms6521.5%182MiB
ConnectionPipelined4,0961,409,5392.99ms69.50ms6331.9%225MiB
ConnectionShort-lived512406,2371.25ms12.00ms3767.8%232MiB
ConnectionShort-lived4,096404,4953.00ms26.00ms3888.3%216MiB
WorkloadJSON4,096206,3643.25ms95.70ms5528.3%730MiB
WorkloadJSON Comp512104,8433.43ms58.10ms6107.3%877MiB
WorkloadJSON Comp4,09693,9067.41ms158.50ms6097.4%857MiB
WorkloadJSON Comp16,384104,1167.55ms147.10ms6067.7%886MiB
WorkloadJSON TLS4,09652,2121.84ms1.84ms3126.7%484MiB
WorkloadUpload322,82811.27ms31.70ms2011.2%354MiB
WorkloadUpload2562,92347.58ms188.60ms4537.5%523MiB
WorkloadStatic1,02416,18425.77ms25.77ms1091.1%172MiB
WorkloadStatic4,09622,29329.73ms29.73ms1454.8%188MiB
WorkloadStatic6,80016,25733.10ms33.10ms1118.0%168MiB
WorkloadStatic TLS1,02487,9111.46ms28.44ms4700.0%368MiB
WorkloadStatic TLS4,09628,1743.90ms23.10ms2615.6%290MiB
WorkloadStatic TLS6,80016,6936.50ms32.32ms1769.8%268MiB
DatabaseAsync DB1,02484,4342.17ms23.10ms5223.1%646MiB
DatabaseCRUD4,096189,233869us6.54ms4829.5%389MiB
DatabaseFortunes1,02447,1552.33ms5.15ms5858.3%873MiB
Multi-endpointAPI-425620,21111.90ms54.70ms399.4%167MiB
Multi-endpointAPI-161,02441,78214.36ms97.80ms1518.0%310MiB
HTTP/2Baseline256483,87130.44ms30.44ms6538.3%504MiB
HTTP/2Baseline1,024492,69029.90ms29.90ms6439.2%555MiB
HTTP/2Static25618,72093.17ms93.17ms1349.5%703MiB
HTTP/2Static1,02418,60992.00ms92.00ms1611.7%1.2GiB
HTTP/2Baseline (h2c)256922,31816.38ms16.38ms6584.9%579MiB
HTTP/2Baseline (h2c)1,024938,63615.97ms15.97ms6530.3%509MiB
HTTP/2Baseline (h2c)4,096920,95716.02ms16.02ms6210.3%574MiB
HTTP/2JSON (h2c)1,024113,10141.74ms41.74ms6525.1%1.5GiB
HTTP/2JSON (h2c)4,096124,17837.70ms37.70ms6582.0%1.6GiB
HTTP/3Baseline64110,58835.49ms42.76ms5437.7%468MiB
HTTP/3Static6413,101307.78ms447.08ms5018.7%700MiB
WebSocketEcho512836,235178us569us5901.8%298MiB
WebSocketEcho4,096672,875214us596us5510.5%295MiB
WebSocketEcho16,384585,893252us664us5232.3%268MiB
WebSocketEcho Pipelined5122,094,0981.15ms2.54ms6445.0%184MiB
WebSocketEcho Pipelined4,0962,153,7691.01ms3.56ms6441.9%192MiB
WebSocketEcho Pipelined16,3842,145,7421.10ms3.80ms6084.8%192MiB

How the benchmark is run · The machine · Add or fix an entry