fcsonline / drill

Drill is an HTTP load testing application written in Rust
GNU General Public License v3.0
2.09k stars 112 forks source link

Commandline params for overwriting concurrency, iterations, etc. #98

Open WebeWizard opened 3 years ago

WebeWizard commented 3 years ago

I'd like to use this tool to benchmark a web service in the same way the popular TechEmpower benchmarks are performed.

"How is each test run?" Each test is executed as follows:

Restart the database servers.
Start the platform and framework using their start-up mechanisms.
Run a 5-second primer at 8 client-concurrency to verify that the server is in fact running. These results are not captured.
Run a 15-second warmup at 256 client-concurrency to allow lazy-initialization to execute and just-in-time compilation to run. These results are not captured.
Run a 15-second captured test for each of the concurrency levels (or iteration counts) exercised by the test type. Concurrency-variable test types are tested at 16, 32, 64, 128, 256, and 512 client-side concurrency. The high-concurrency plaintext test type is tested at 256, 1,024, 4,096, and 16,384 client-side concurrency.
Stop the platform and framework.

Is it possible to specify/overwrite a benchmark file's main properties (base URL, iterations, concurrency, etc) via command line parameters to avoid creating many nearly duplicate benchmark plan files?

WebeWizard commented 3 years ago

I have provided a pull request for the feature requested above. Looking forward to your feedback.