Skip to content

Launching the Benchmarks

airherna edited this page Jun 27, 2022 · 2 revisions

Two benchmarks were built using the Goose Framework with Rust, which are executed for different purposes:

Energy consumption benchmark:

For 5 minutes the application will receive 14 requests per second. Maintaining this request rate will show how the different backends perform under the same load.

Benchmark settings:

.set_default(GooseDefault::Host, "http://localhost:8081/jumpthequeue/services/rest/")?
.set_default(GooseDefault::RequestLog, "goose-requests.log")?
.set_default(GooseDefault::ErrorLog, "goose-error.log")?
.set_default(GooseDefault::Users, 5)?
.set_default(GooseDefault::ThrottleRequests, 14)?
.set_default(GooseDefault::RequestBody, true)?
.set_default(GooseDefault::HatchRate, ".05")?
.set_default(GooseDefault::RunTime, 300)?
.set_default(GooseDefault::NoResetMetrics, true)?
.set_default(GooseDefault::StatusCodes, true)?
.set_default(GooseDefault::ReportFile, "report.html")?;

Performance benchmark:

Backends will receive as many requests as possible. This will show the maximum load capacity for each language.

Benchmark settings:

.set_default(GooseDefault::Host, "http://localhost:8081/jumpthequeue/services/rest/")?
.set_default(GooseDefault::RequestLog, "goose-requests.log")?
.set_default(GooseDefault::ErrorLog, "goose-error.log")?
.set_default(GooseDefault::Users, 10)?
.set_default(GooseDefault::HatchRate, ".05")?
.set_default(GooseDefault::RequestBody, true)?
.set_default(GooseDefault::RunTime, 300)?
.set_default(GooseDefault::NoResetMetrics, true)?
.set_default(GooseDefault::StatusCodes, true)?
.set_default(GooseDefault::ReportFile, "report.html")?;

Note: Each benchmark will create as a result a HTML file, a goose-requests.log file and a goose-error.log file. Additionally, two more benchmarks were created for compatibility with the .NET backend.