ammbra / calibration

Repository containing eager-factorial (CPU intensive) and continuous-editor (I/O bound) running on JDK 21 and used to demo different GC configurations.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GC Calibration content

This repo contains 2 Java applications that can be run with any JDK>=21.

Package applications, build and push their container images

Make sure you are in the root of this repo and issue the following command:

mvn clean verify

Build and push each container image within its respective directory using a command similar to:

docker buildx build --platform=linux/amd64 --push --tag ghcr.io/ammbra/eager-factorial:1.0 . --no-cache

Deploy the applications

Each folder contains a k8s folder containing a Kubernetes resources necessary for a minimum deploy.

You can run:

kubectl apply -f eager-factorial/k8s/kubernetes-default.yml
kubectl apply -f continuous-editor/k8s/kubernetes-default.yml

Once you deployed the applications, you can change the JVM parameters using each k8s/gc.sh scripts.

Use k6 for load testing the applications

You can use the k6 scripts available in eager-factorial/k6 and continuous-editor/k6 to load test the deployed applications. I used testkube to run those tests in Kubernetes cluster.

About

Repository containing eager-factorial (CPU intensive) and continuous-editor (I/O bound) running on JDK 21 and used to demo different GC configurations.

License:MIT License


Languages

Language:Java 57.0%Language:Dockerfile 16.8%Language:Shell 13.8%Language:JavaScript 12.3%