HttpArena
Frameworks

aspnet-minimal

Flagship · C# · engine: kestrel · standard configuration

Minimal ASP.NET Core server using .NET 10 with Kestrel and minimal API routing.

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.110 of 71550
HTTP/23 of 16134
HTTP/33 of 661
gRPC1 of 5309
WebSocket8 of 2074

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline5121,252,267408us1.95ms5099.8%249MiB
ConnectionBaseline4,0961,279,8172.75ms8.65ms5503.3%352MiB
ConnectionPipelined5126,735,3981.21ms4.84ms5067.1%174MiB
ConnectionPipelined4,0967,049,7807.87ms20.90ms5633.6%346MiB
ConnectionShort-lived512455,7681.10ms11.70ms3427.8%146MiB
ConnectionShort-lived4,096461,3671.44ms12.30ms3388.6%153MiB
WorkloadJSON4,096568,8904.65ms22.00ms5805.2%561MiB
WorkloadJSON Comp512333,3271.51ms6.71ms5327.5%244MiB
WorkloadJSON Comp4,096335,3309.61ms37.60ms5909.3%581MiB
WorkloadJSON Comp16,384335,27720.36ms61.70ms6094.4%661MiB
WorkloadJSON TLS4,096505,6178.32ms104.21ms6048.0%805MiB
WorkloadUpload321,29824.78ms80.30ms6083.9%165MiB
WorkloadUpload2561,541161.46ms767.40ms6428.0%334MiB
WorkloadStatic1,024354,8253.01ms26.00ms5200.5%262MiB
WorkloadStatic4,096349,97011.71ms449.49ms5889.0%482MiB
WorkloadStatic6,800340,80420.80ms881.70ms6064.4%560MiB
WorkloadStatic TLS1,024243,3294.36ms35.58ms5212.8%462MiB
WorkloadStatic TLS4,096255,22216.09ms132.88ms6065.0%922MiB
WorkloadStatic TLS6,800251,63927.35ms338.12ms6195.6%1.2GiB
DatabaseAsync DB1,024163,3105.66ms18.60ms3625.6%414MiB
DatabaseCRUD4,096393,1139.40ms25.90ms5585.1%436MiB
DatabaseFortunes1,02475,53911.36ms33.60ms5496.7%460MiB
Multi-endpointAPI-425637,1864.83ms12.30ms390.9%140MiB
Multi-endpointAPI-161,024112,5276.67ms19.00ms1501.5%254MiB
HTTP/2Baseline2562,202,29111.49ms78.02ms6088.2%1.0GiB
HTTP/2Baseline1,0242,083,36550.72ms319.41ms5883.1%3.8GiB
HTTP/2Static256184,83743.65ms245.59ms5889.5%933MiB
HTTP/2Static1,024123,587252.14ms1.32s5845.2%2.9GiB
HTTP/2Baseline (h2c)2562,684,2469.75ms60.80ms6240.9%1.0GiB
HTTP/2Baseline (h2c)1,0242,454,07743.84ms310.39ms5967.7%4.5GiB
HTTP/2Baseline (h2c)4,0961,280,412178.40ms884.79ms5313.2%7.8GiB
HTTP/2JSON (h2c)1,024690,43947.73ms282.09ms6158.8%1.5GiB
HTTP/2JSON (h2c)4,096595,760164.52ms1.47s5930.0%5.2GiB
HTTP/3Baseline64626,2885.87ms22.32ms6087.5%1.2GiB
HTTP/3Static64120,52133.88ms154.00ms4867.5%1.9GiB
gRPCUnary2562,491,23210.56ms10.56ms5624.0%1007.0MiB
gRPCUnary1,0242,338,52541.35ms41.35ms6207.7%2.5GiB
gRPCUnary TLS2562,058,16112.19ms12.19ms6079.8%818.2MiB
gRPCUnary TLS1,0241,826,31656.98ms56.98ms5281.5%2.8GiB
gRPCStream648,630,000139.48ms1.07s3168.6%130.4MiB
gRPCStream TLS648,617,000140.09ms1.08s2374.6%169.1MiB
WebSocketEcho5121,835,273278us696us6128.2%220.4MiB
WebSocketEcho4,0961,806,9961.72ms5.25ms6120.1%389.2MiB
WebSocketEcho16,3841,686,0223.63ms10.10ms6033.9%456.1MiB
WebSocketEcho Pipelined51219,748,819414us2.08ms5700.1%225MiB
WebSocketEcho Pipelined4,09619,744,7581.92ms7.12ms5656.8%380MiB
WebSocketEcho Pipelined16,38419,407,9602.94ms9.60ms5864.6%380MiB

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