How stephanyecunto/tcc_java_thread_benchmark works
This repository documents and supports an empirical comparison of traditional and virtual Java threads under I/O-bound load. The workflow is to run constant or ramping load experiments against a Spring Boot server, collect request and runtime metrics, and report findings in the thesis. The README documents thread and GC endpoints, Vegeta, and JFR/JMC monitoring; source excerpts were unavailable, so relationships rely on that documentation. Analysis artifacts and exact internal data-processing stages are not evident in the tree, so they are not represented as code subsystems.
Main entry points: BenchmarkServerApplication.java Spring Boot server · TCC_Stephanye.pdf Final thesis · loadConstant/benchmark_threads.sh Constant load scripts · loadRamping/benchmark_threads.sh Ramping load scripts
Components 14
Experiment execution
- Constant load scripts
Teste/Script/loadConstant/benchmark_threads.sh - Ramping load scripts
Teste/Script/loadRamping/benchmark_threads.sh - Vegeta load generator
Benchmark server
- Spring Boot server
Teste/Serve_Test/benchmark-server/src/main/java/com/benchmark/server/BenchmarkServerApplication.java - Traditional threads
Teste/Serve_Test/benchmark-server/src/main/java/com/benchmark/server/controller/ThreadBenchmarkController.java - Virtual threads
Teste/Serve_Test/benchmark-server/src/main/java/com/benchmark/server/controller/ThreadBenchmarkController.java - GC endpoint
Teste/Serve_Test/benchmark-server/src/main/java/com/benchmark/server/controller/ThreadBenchmarkController.java
Results and analysis
- JFR and JMC
- Constant-load results
Teste/Script/loadConstant/Results/Dados_Load_Constant.xlsx - Ramping-load results
Teste/Script/loadRamping/Results/Dados_Load_Ramping.xlsx
Research materials
- Final thesis
Trabalho/TCC_Stephanye.pdf - Presentation
Apresentacao/TCC_Stephanye.pdf - Related research
Trabalhos_Relacionados
Other components
- Experiment operator
Connections 20
- Experiment operator → Constant load scripts: runs scenario
- Experiment operator → Ramping load scripts: runs scenario
- Constant load scripts → Vegeta load generator: starts load
- Ramping load scripts → Vegeta load generator: starts load
- Vegeta load generator → Traditional threads: sends HTTP load
- Vegeta load generator → Virtual threads: sends HTTP load
- Vegeta load generator → GC endpoint: sends HTTP load
- Spring Boot server → Traditional threads: serves endpoint
- Spring Boot server → Virtual threads: serves endpoint
- Spring Boot server → GC endpoint: serves endpoint
- Traditional threads → Vegeta load generator: returns response
- Virtual threads → Vegeta load generator: returns response
- GC endpoint → Vegeta load generator: returns response
- Spring Boot server → JFR and JMC: records runtime
- Constant load scripts → Constant-load results: produces results
- Ramping load scripts → Ramping-load results: produces results
- Constant-load results → Final thesis: informs analysis
- Ramping-load results → Final thesis: informs analysis
- JFR and JMC → Final thesis: informs analysis
- Final thesis → Presentation: summarized in