This project benchmarks the performance of the EmbedHTTP framework against Spring Boot using the Beast testing tool.
The workspace is organized as follows:
EmbedHTTP/
: Contains the implementation of the benchmark using the EmbedHTTP library.Spring/
: Contains the implementation of the benchmark using Spring Boot.test-data.csv
: A CSV file with test data used to generate payloads for benchmarking.beast-config.json
: Configuration file for the Beast testing tool.run-test.sh
: A shell script to automate the benchmarking process.*.yaml
: Beast templates for testing endpoints.
- Java 21 or higher
- Beast testing tool installed (installation guide)
- A POSIX-compliant shell (for running
run-test.sh
)
- Clone the repository:
git clone https://github.com/jjmrocha/TestEmbedHTTP.git
cd TestEmbedHTTP
- Build the projects:
cd EmbedHTTP
./gradlew build
cd ../Spring
./gradlew build
- Start one of the servers:
cd EmbedHTTP
./gradlew run
./run-test.sh <template> [concurrent requests]
Where:
- template: Must be one of
.yaml
files:- get-plain.yaml
- concurrent requests: Is the number of request performed simultaneously, defaults to 1
Example:
./run-test.sh get-plain.yaml 10
The code and tests on this project are licensed under the MIT License. See the LICENSE file for more details.