You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.5 KiB
Markdown
103 lines
2.5 KiB
Markdown
# JAX-RS compliant kernels test
|
|
|
|
## Round I
|
|
|
|
Run tests with 100 connections. These modules performed as shit:
|
|
|
|
- jersey-jdk-http
|
|
- jersey-simple-http
|
|
- resteasy-jdk-http
|
|
|
|
rawnetty is not that representative afterall - no need to loose time. openjdk-11 with alpine kernel failed to start test (not sure 'bout it).
|
|
|
|
## Round II
|
|
|
|
bad throughput
|
|
|
|
- jersey-jetty
|
|
|
|
bad mean and diviations is too high
|
|
|
|
- cxf-jetty
|
|
- cxf-undertow
|
|
|
|
diviation is too high
|
|
|
|
- jooby-jetty
|
|
- resteasy-netty
|
|
|
|
bad mean response time
|
|
|
|
- jersey-netty
|
|
|
|
bad compatibility (too many backfire incudents)
|
|
|
|
- quarkus-resteasy-jackson
|
|
|
|
bad mean response time and problems with compatibility
|
|
|
|
- jersey-grizzly2
|
|
|
|
## Round III
|
|
|
|
survivor jdks:
|
|
|
|
- eclipse-temurin:17-alpine
|
|
- amazoncorretto:11-alpine
|
|
- amazoncorretto:17-alpine
|
|
|
|
survivor modules:
|
|
|
|
- jooby-undertow
|
|
- resteasy-vertx
|
|
|
|
Best performance:
|
|
|
|
- resteasy-vertx + amazoncorretto:11-alpine
|
|
- jooby-undertow + eclipse-temurin:17-alpine
|
|
|
|
Best stability:
|
|
|
|
- resteasy-vertx + amazoncorretto:17-alpine
|
|
- jooby-undertow + eclipse-temurin:17-alpine
|
|
|
|
## Round IV (finals)
|
|
|
|
Overall best JAX-RS kernel to utilize: resteasy with vert.x backend
|
|
Alternative kernel to look at if main failes: jooby with undertow backend
|
|
|
|
Best JDK for performance and stability: amazoncorretto:11-alpine
|
|
Best JDK for stability: amazoncorretto:17-alpine
|
|
Alternative in case of amazon collapse: eclipse-temurin:17-alpine
|
|
|
|
# Conclusion
|
|
|
|
Start new kernel based around JAX-RS methodologym, use Vert.X eco-system where possible. End-to-end test for jooby-undertow & resteasy-vertx with websockets and PostgreSQL needed. Also ORM layer need more tests.
|
|
|
|
## Build time (for reference only)
|
|
|
|
| Kernel | time |
|
|
| ------------------------ | ------- |
|
|
| quarkus-resteasy-jackson | 1.463 s |
|
|
| quarkus-resteasy-jsonb | 0.943 s |
|
|
| jersey-grizzly2 | 1.029 s |
|
|
| jersey-jdk-http | 0.350 s |
|
|
| jersey-simple-http | 0.370 s |
|
|
| jersey-jetty | 0.465 s |
|
|
| jersey-netty | 0.596 s |
|
|
| jersey-netty | 0.596 s |
|
|
| jersey-netty | 0.596 s |
|
|
| jersey-netty | 0.596 s |
|
|
| rawnetty | 0.659 s |
|
|
| jooby-netty | 0.497 s |
|
|
| jooby-jetty | 0.360 s |
|
|
| jooby-undertow | 0.410 s |
|
|
| resteasy-jdk-http | 0.319 s |
|
|
| resteasy-netty | 0.603 s |
|
|
| resteasy-reactor-netty | 0.813 s |
|
|
| resteasy-vertx | 0.648 s |
|
|
| resteasy-undertow | 0.568 s |
|
|
| cxf-jetty | 0.572 s |
|
|
| cxf-netty | 0.618 s |
|
|
| cxf-undertow | 0.691 s |
|