Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gavlyukovskiy/benchmark-spring-application
https://github.com/gavlyukovskiy/benchmark-spring-application
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/gavlyukovskiy/benchmark-spring-application
- Owner: gavlyukovskiy
- Created: 2022-09-04T22:43:31.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-10T10:26:04.000Z (3 months ago)
- Last Synced: 2024-10-15T17:52:10.302Z (3 months ago)
- Language: Kotlin
- Size: 66.3 MB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Running load tests
1. Data bootstrap:
```bash
docker compose up -d postgres
./gradlew :tools:bootstrap --args="postgres"
```
2. Build docker images
```bash
./gradlew :spring-web:bootBuildImage
./gradlew :spring-webflux:bootBuildImage
./gradlew -Pjetty :spring-web:bootBuildImage
```
3. Run application
1. Docker
1. Tomcat
```bash
docker compose rm --stop --force spring-web-tomcat spring-web-tomcat-loom spring-webflux && docker compose up -d spring-web-tomcat
```
2. Tomcat + Loom
```bash
docker compose rm --stop --force spring-web-tomcat spring-web-tomcat-loom spring-webflux && docker compose up -d spring-web-tomcat-loom
```
3. Webflux
```bash
docker compose rm --stop --force spring-web-tomcat spring-web-tomcat-loom spring-webflux && docker compose up -d spring-webflux
```
2. Gradle
1. Tomcat
```bash
./gradlew :spring-web:bootRun
```
2. Tomcat + Loom
```bash
./gradlew :spring-web:bootRun --args="--spring.profiles.active=loom"
```
3. Webflux
```bash
./gradlew -Pjetty :spring-webflux:bootRun
```
4. Run **db-read-test** (reading a random item from postgres)
1. With application in Docker
```bash
docker run -e TARGET_HOST=application --network benchmark-network --rm -i grafana/k6 run --quiet - Pinned carrier threads result in degraded performance (https://github.com/pgjdbc/pgjdbc/issues/1951)
```bash
docker run -e TARGET_HOST=application --network benchmark-network --rm -i grafana/k6 run --quiet -