Web Frameworks Benchmark


java web framework benchmarks

Benchmark results for 21 java web frameworks, measured with zrk at concurrency 64, 256, 512. Fastest at concurrency 64: activej with 178 628 requests per second.

java frameworks at concurrency 64, ranked on requests per second.
# Framework Requests / second P50 latency P99 latency HTTP errors
1 activej 5.5 178 628 0.34 ms 0.51 ms 0
2 jooby 4.5 172 183 0.36 ms 0.55 ms 0
3 rapidoid 5.5 169 271 0.37 ms 0.55 ms 0
4 vertx 5.1 166 709 0.37 ms 0.60 ms 0
5 vertx4web 5.1 161 084 0.38 ms 0.62 ms 0
6 undertow 2.4 159 319 0.39 ms 0.61 ms 0
7 quarkus 3.37 151 687 0.42 ms 0.67 ms 0
8 light-4j 2.2 148 711 0.42 ms 0.80 ms 0
9 restheart 9.7 144 788 0.44 ms 0.67 ms 0
10 helidon-se 4.5 128 093 0.49 ms 0.73 ms 0
11 micronaut 5 120 662 0.49 ms 0.98 ms 0
12 aspectran 9.6 119 028 0.56 ms 0.93 ms 0
13 spring-webflux 4.1 116 585 0.52 ms 1.07 ms 0
14 armeria 1.41 106 132 0.57 ms 1.09 ms 0
15 javalin 7.2 104 741 0.59 ms 1.21 ms 0
16 spring 4.1 103 943 0.54 ms 1.53 ms 0
17 spark 2.9 81 067 0.76 ms 1.38 ms 0
18 jersey-grizzly2 4 76 239 0.77 ms 3.17 ms 0
19 jersey3-grizzly2 3.1 75 437 0.80 ms 2.44 ms 0
20 blade 2.1 47 077 1.41 ms 4.55 ms 0
21 struts2 7 16 713 1.95 ms 27.10 ms 0
java frameworks at concurrency 256, ranked on requests per second.
# Framework Requests / second P50 latency P99 latency HTTP errors
1 activej 5.5 152 251 1.54 ms 2.21 ms 0
2 rapidoid 5.5 148 214 1.28 ms 2.33 ms 0
3 jooby 4.5 145 360 1.66 ms 2.38 ms 0
4 vertx 5.1 142 038 1.74 ms 2.38 ms 0
5 undertow 2.4 134 746 1.83 ms 2.58 ms 0
6 vertx4web 5.1 133 624 1.83 ms 2.51 ms 0
7 quarkus 3.37 126 383 1.94 ms 2.72 ms 0
8 light-4j 2.2 121 121 1.97 ms 3.12 ms 0
9 restheart 9.7 117 731 2.08 ms 2.89 ms 0
10 micronaut 5 111 508 2.12 ms 3.22 ms 0
11 helidon-se 4.5 109 519 2.33 ms 2.72 ms 0
12 aspectran 9.6 102 677 2.25 ms 2.93 ms 0
13 spring 4.1 101 072 1.52 ms 2.98 ms 0
14 spring-webflux 4.1 100 467 2.47 ms 3.73 ms 0
15 armeria 1.41 96 196 2.58 ms 3.60 ms 0
16 javalin 7.2 88 220 2.86 ms 4.11 ms 0
17 spark 2.9 74 555 3.27 ms 4.24 ms 0
18 jersey-grizzly2 4 70 239 3.17 ms 4.49 ms 0
19 jersey3-grizzly2 3.1 69 453 3.10 ms 4.53 ms 0
20 blade 2.1 58 565 4.04 ms 13.97 ms 0
21 struts2 7 17 338 2.30 ms 152.38 ms 0
java frameworks at concurrency 512, ranked on requests per second.
# Framework Requests / second P50 latency P99 latency HTTP errors
1 activej 5.5 153 227 1.58 ms 2.54 ms 0
2 rapidoid 5.5 144 416 1.57 ms 2.47 ms 0
3 jooby 4.5 143 281 1.77 ms 2.82 ms 0
4 vertx 5.1 138 415 1.74 ms 2.69 ms 0
5 vertx4web 5.1 133 508 1.95 ms 3.02 ms 0
6 undertow 2.4 133 449 1.91 ms 3.32 ms 0
7 quarkus 3.37 124 257 2.33 ms 3.53 ms 0
8 light-4j 2.2 119 710 2.13 ms 3.52 ms 0
9 restheart 9.7 118 237 2.11 ms 3.19 ms 0
10 micronaut 5 109 045 2.51 ms 4.12 ms 0
11 helidon-se 4.5 106 584 3.53 ms 3.94 ms 0
12 aspectran 9.6 101 018 2.31 ms 3.39 ms 0
13 spring 4.1 100 383 1.57 ms 3.28 ms 0
14 spring-webflux 4.1 98 579 2.93 ms 4.56 ms 0
15 armeria 1.41 95 055 3.10 ms 4.57 ms 0
16 javalin 7.2 87 179 4.04 ms 5.51 ms 0
17 spark 2.9 73 532 3.25 ms 4.23 ms 0
18 jersey-grizzly2 4 69 049 3.12 ms 4.78 ms 0
19 jersey3-grizzly2 3.1 68 961 3.17 ms 4.72 ms 0
20 blade 2.1 62 356 7.34 ms 25.69 ms 0
21 struts2 7 17 362 2.64 ms 191.77 ms 0