Explore by language

go web framework benchmarks

Benchmark results for 42 go web frameworks, measured with zrk at concurrency 64, 256, 512. Fastest at concurrency 64: breeze with 216 272 requests per second.

Compare throughput and latency together. These measurements describe a specific workload and test environment; performance in your application may differ.

Concurrency 64

go frameworks at concurrency 64, ranked on requests per second.
# Framework Requests / second P50 latency P99 latency HTTP errors
1 breeze 2 216 272 0.26 ms 0.66 ms 0
2 web 0 205 272 0.26 ms 0.98 ms 0
3 fasthttp 1.74 182 167 0.29 ms 1.10 ms 0
4 gorouter-fasthttp 4.4 180 176 0.29 ms 1.12 ms 0
5 gearbox 1.2 180 070 0.29 ms 1.12 ms 0
6 fiber 3.5 178 319 0.30 ms 1.12 ms 0
7 hertz 0.9 173 885 0.36 ms 0.76 ms 0
8 router 1.5 172 563 0.31 ms 1.17 ms 0
9 atreugo 11.13 169 652 0.31 ms 1.20 ms 0
10 apirouter 1 108 569 0.47 ms 2.05 ms 0
11 rte 0 107 289 0.48 ms 2.06 ms 0
12 bunrouter 1 107 233 0.48 ms 2.07 ms 0
13 r2 0.3 106 901 0.48 ms 2.06 ms 0
14 echo 5.3 106 517 0.48 ms 2.06 ms 0
15 clevergo 0.6 106 088 0.48 ms 2.09 ms 0
16 httprouter 1.3 105 622 0.49 ms 2.08 ms 0
17 gin 1.12 105 302 0.48 ms 2.18 ms 0
18 nethttp 1.22 104 332 0.49 ms 2.11 ms 0
19 gorouter 4.5 103 001 0.48 ms 2.35 ms 0
20 chi 5.2 101 447 0.51 ms 2.21 ms 0
21 aero 1.3 101 148 0.51 ms 2.19 ms 0
22 poteto 1.1 100 821 0.51 ms 2.25 ms 0
23 goframe 2.10 99 579 0.49 ms 2.55 ms 0
24 goroute 0 99 544 0.51 ms 2.29 ms 0
25 go-zero 1.10 98 803 0.50 ms 2.57 ms 0
26 webgo 7.1 98 285 0.52 ms 2.27 ms 0
27 gorilla-mux 1.8 97 022 0.52 ms 2.37 ms 0
28 violetear 7 96 855 0.53 ms 2.30 ms 0
29 gogo 1.4 94 054 0.67 ms 1.31 ms 0
30 kami 2.2 93 830 0.53 ms 2.60 ms 0
31 goyave 5.12 92 624 0.54 ms 2.63 ms 0
32 beego 2.3 91 634 0.53 ms 2.81 ms 0
33 air 0.22 85 049 0.58 ms 2.87 ms 0
34 goravel-fiber 1.18 84 493 0.61 ms 2.71 ms 0
35 aurora 1.3 82 085 0.57 ms 3.41 ms 0
36 stgin 1.1 78 838 0.32 ms 13.46 ms 0
37 flamego 1.12 76 865 0.64 ms 3.12 ms 0
38 mars 1.1 66 921 0.72 ms 3.75 ms 0
39 macaron 1.5 47 677 0.38 ms 7.95 ms 0
40 goravel-gin 1.18 45 528 0.70 ms 16.51 ms 0
41 tango 0.6 36 005 0.20 ms 13.97 ms 0
42 gramework 1.8 25 715 2.46 ms 3.18 ms 0

Concurrency 256

go frameworks at concurrency 256, ranked on requests per second.
# Framework Requests / second P50 latency P99 latency HTTP errors
1 breeze 2 200 283 1.19 ms 4.54 ms 0
2 web 0 187 397 1.24 ms 3.63 ms 0
3 fasthttp 1.74 166 243 1.43 ms 3.90 ms 0
4 gearbox 1.2 165 605 1.43 ms 3.94 ms 0
5 gorouter-fasthttp 4.4 163 151 1.46 ms 3.99 ms 0
6 fiber 3.5 162 992 1.46 ms 3.98 ms 0
7 router 1.5 157 387 1.48 ms 4.19 ms 0
8 atreugo 11.13 155 175 1.49 ms 4.26 ms 0
9 hertz 0.9 154 279 1.60 ms 3.76 ms 0
10 apirouter 1 100 288 2.23 ms 8.08 ms 0
11 bunrouter 1 99 286 2.26 ms 8.20 ms 0
12 rte 0 99 152 2.25 ms 8.28 ms 0
13 r2 0.3 99 048 2.25 ms 8.43 ms 0
14 gin 1.12 98 711 2.27 ms 8.22 ms 0
15 clevergo 0.6 98 461 2.27 ms 8.21 ms 0
16 echo 5.3 98 347 2.27 ms 8.53 ms 0
17 httprouter 1.3 98 231 2.28 ms 8.32 ms 0
18 nethttp 1.22 96 617 2.31 ms 8.56 ms 0
19 gorouter 4.5 96 601 2.30 ms 8.97 ms 0
20 goframe 2.10 94 404 2.35 ms 8.88 ms 0
21 chi 5.2 93 888 2.34 ms 9.34 ms 0
22 aero 1.3 93 610 2.40 ms 8.37 ms 0
23 go-zero 1.10 93 006 2.38 ms 9.48 ms 0
24 poteto 1.1 92 843 2.37 ms 9.30 ms 0
25 goroute 0 91 910 2.38 ms 9.63 ms 0
26 webgo 7.1 91 458 2.43 ms 9.15 ms 0
27 violetear 7 90 993 2.45 ms 9.02 ms 0
28 gogo 1.4 90 747 2.78 ms 3.77 ms 0
29 gorilla-mux 1.8 89 675 2.43 ms 9.91 ms 0
30 kami 2.2 89 490 2.45 ms 9.88 ms 0
31 goyave 5.12 88 381 2.52 ms 9.35 ms 0
32 beego 2.3 87 289 2.50 ms 10.21 ms 0
33 aurora 1.3 80 474 2.61 ms 11.99 ms 0
34 goravel-fiber 1.18 80 342 2.84 ms 9.09 ms 0
35 air 0.22 79 997 2.72 ms 11.06 ms 0
36 stgin 1.1 72 847 1.01 ms 79.03 ms 0
37 flamego 1.12 71 696 3.01 ms 12.68 ms 0
38 mars 1.1 62 940 3.26 ms 16.21 ms 0
39 macaron 1.5 47 830 0.93 ms 31.82 ms 0
40 goravel-gin 1.18 45 100 1.92 ms 107.38 ms 0
41 tango 0.6 35 910 0.21 ms 57.70 ms 0
42 gramework 1.8 25 271 10.08 ms 11.54 ms 0

Concurrency 512

go frameworks at concurrency 512, ranked on requests per second.
# Framework Requests / second P50 latency P99 latency HTTP errors
1 breeze 2 194 447 2.46 ms 7.11 ms 0
2 web 0 178 910 2.86 ms 5.10 ms 0
3 gearbox 1.2 158 415 3.25 ms 5.43 ms 0
4 fasthttp 1.74 158 145 3.26 ms 5.39 ms 0
5 fiber 3.5 155 733 3.31 ms 5.47 ms 0
6 gorouter-fasthttp 4.4 155 201 3.32 ms 5.52 ms 0
7 router 1.5 148 954 3.46 ms 5.85 ms 0
8 atreugo 11.13 147 553 3.49 ms 5.92 ms 0
9 hertz 0.9 143 920 3.58 ms 5.44 ms 0
10 apirouter 1 98 554 5.08 ms 12.85 ms 0
11 bunrouter 1 98 039 5.11 ms 12.91 ms 0
12 rte 0 97 919 5.12 ms 12.67 ms 0
13 r2 0.3 97 332 5.14 ms 13.38 ms 0
14 echo 5.3 96 979 5.16 ms 13.17 ms 0
15 gin 1.12 96 974 5.16 ms 13.24 ms 0
16 httprouter 1.3 96 856 5.17 ms 13.02 ms 0
17 clevergo 0.6 96 778 5.19 ms 12.57 ms 0
18 nethttp 1.22 95 587 5.24 ms 13.49 ms 0
19 gorouter 4.5 95 229 5.26 ms 13.75 ms 0
20 goframe 2.10 93 420 5.35 ms 14.17 ms 0
21 chi 5.2 92 850 5.36 ms 14.52 ms 0
22 aero 1.3 92 296 5.45 ms 13.08 ms 0
23 poteto 1.1 92 020 5.40 ms 15.12 ms 0
24 go-zero 1.10 91 943 5.44 ms 15.58 ms 0
25 goroute 0 91 029 5.44 ms 15.46 ms 0
26 webgo 7.1 89 823 5.58 ms 13.60 ms 0
27 violetear 7 89 370 5.60 ms 14.23 ms 0
28 gorilla-mux 1.8 89 157 5.55 ms 16.12 ms 0
29 gogo 1.4 88 865 5.70 ms 6.88 ms 0
30 kami 2.2 87 944 5.65 ms 16.45 ms 0
31 beego 2.3 86 865 5.73 ms 15.51 ms 0
32 goyave 5.12 86 587 5.78 ms 14.78 ms 0
33 aurora 1.3 79 471 6.15 ms 19.84 ms 0
34 goravel-fiber 1.18 79 131 6.32 ms 14.09 ms 0
35 air 0.22 78 871 6.22 ms 19.53 ms 0
36 stgin 1.1 72 304 2.10 ms 202.56 ms 0
37 flamego 1.12 71 445 6.89 ms 20.95 ms 0
38 mars 1.1 63 088 7.66 ms 26.40 ms 0
39 macaron 1.5 47 228 1.22 ms 66.22 ms 0
40 goravel-gin 1.18 44 671 3.81 ms 251.73 ms 0
41 tango 0.6 35 580 0.22 ms 117.98 ms 0
42 gramework 1.8 25 205 20.26 ms 22.97 ms 0