|
|
4 years ago | |
|---|---|---|
| csv-merger | 4 years ago | |
| modules | 4 years ago | |
| reports | 4 years ago | |
| scripts | 4 years ago | |
| .gitignore | 4 years ago | |
| pom.xml | 4 years ago | |
| readme.md | 4 years ago | |
| workspace.code-workspace | 4 years ago | |
readme.md
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 |