Home / Frameworks / java
Explore by language
java web framework benchmarks
Benchmark results for 20 java web frameworks, measured with zrk at concurrency 64, 256, 512. Fastest at concurrency 64: activej with 227 183 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
java frameworks at concurrency 64, ranked on requests per second.
#
Framework
Requests / second
P50 latency
P99 latency
HTTP errors
1
activej 5.5
227 183
0.26 ms
0.53 ms
0
2
jooby 4.5
204 943
0.28 ms
0.59 ms
0
3
rapidoid 5.5
192 357
0.33 ms
0.50 ms
0
4
vertx 5.1
188 779
0.31 ms
0.64 ms
0
5
vertx4web 5.1
176 773
0.33 ms
0.68 ms
0
6
undertow 2.4
160 027
0.39 ms
1.08 ms
0
7
light-4j 2.2
154 873
0.18 ms
4.76 ms
0
8
helidon-se 27
154 582
0.24 ms
0.36 ms
0
9
quarkus 3.39
143 177
0.41 ms
0.85 ms
0
10
aspectran 9.8
122 745
0.20 ms
5.31 ms
0
11
micronaut 5
110 704
0.23 ms
7.55 ms
0
12
restheart 9.8
106 420
0.56 ms
1.45 ms
0
13
armeria 1.41
73 067
0.33 ms
7.73 ms
0
14
spark 2.9
71 650
0.77 ms
2.55 ms
0
15
javalin 7.2
65 850
0.97 ms
2.82 ms
0
16
spring-webflux 4.1
65 849
0.85 ms
2.77 ms
0
17
blade 2.1
51 726
0.51 ms
7.35 ms
0
18
jersey3-grizzly2 3.1
42 741
1.04 ms
7.31 ms
0
19
jersey-grizzly2 4
41 893
1.06 ms
7.30 ms
0
20
struts2 7
19 997
2.88 ms
24.57 ms
0
Concurrency 256
java frameworks at concurrency 256, ranked on requests per second.
#
Framework
Requests / second
P50 latency
P99 latency
HTTP errors
1
activej 5.5
209 294
1.21 ms
1.68 ms
0
2
jooby 4.5
193 466
1.31 ms
1.95 ms
0
3
vertx 5.1
174 719
1.44 ms
2.26 ms
0
4
rapidoid 5.5
164 072
1.56 ms
1.68 ms
0
5
vertx4web 5.1
163 855
1.54 ms
2.36 ms
0
6
undertow 2.4
152 199
1.73 ms
2.28 ms
0
7
light-4j 2.2
151 212
0.93 ms
9.42 ms
0
8
helidon-se 27
140 929
1.68 ms
2.38 ms
0
9
quarkus 3.39
136 113
1.85 ms
2.66 ms
0
10
aspectran 9.8
133 181
0.78 ms
10.47 ms
0
11
micronaut 5
114 695
1.07 ms
9.87 ms
0
12
restheart 9.8
102 959
2.50 ms
2.73 ms
0
13
armeria 1.41
83 613
1.53 ms
10.36 ms
0
14
javalin 7.2
70 903
3.65 ms
8.10 ms
0
15
spark 2.9
70 261
3.50 ms
7.53 ms
0
16
spring-webflux 4.1
67 698
3.75 ms
4.74 ms
0
17
blade 2.1
55 310
3.56 ms
19.27 ms
0
18
jersey-grizzly2 4
49 763
4.82 ms
11.22 ms
0
19
jersey3-grizzly2 3.1
49 297
4.85 ms
11.27 ms
0
20
struts2 7
23 266
7.61 ms
156.21 ms
0
Concurrency 512
java frameworks at concurrency 512, ranked on requests per second.
#
Framework
Requests / second
P50 latency
P99 latency
HTTP errors
1
activej 5.5
204 508
2.49 ms
3.12 ms
0
2
jooby 4.5
189 359
2.67 ms
3.86 ms
0
3
vertx 5.1
171 697
2.94 ms
4.03 ms
0
4
vertx4web 5.1
161 688
3.13 ms
4.20 ms
0
5
rapidoid 5.5
156 584
3.27 ms
3.77 ms
0
6
undertow 2.4
150 308
3.44 ms
4.36 ms
0
7
light-4j 2.2
146 988
2.12 ms
10.86 ms
0
8
helidon-se 27
137 795
3.54 ms
4.92 ms
0
9
quarkus 3.39
134 579
3.75 ms
4.97 ms
0
10
aspectran 9.8
128 727
2.71 ms
13.44 ms
0
11
micronaut 5
112 551
3.21 ms
12.96 ms
0
12
restheart 9.8
102 352
5.00 ms
6.11 ms
0
13
armeria 1.41
83 269
6.60 ms
14.00 ms
0
14
javalin 7.2
73 439
7.04 ms
15.17 ms
0
15
spark 2.9
71 140
7.01 ms
14.29 ms
0
16
spring-webflux 4.1
67 495
7.52 ms
8.78 ms
0
17
blade 2.1
56 217
7.62 ms
30.86 ms
0
18
jersey-grizzly2 4
49 440
9.97 ms
16.89 ms
0
19
jersey3-grizzly2 3.1
49 429
9.99 ms
16.91 ms
0
20
struts2 7
23 419
15.28 ms
342.91 ms
0