🚀 Quickstart Guide
Here is how to use Ddosify easily without deep dive into its details.
-
Simple load test
ddosify -t https://getanteon.com
The above command runs a load test with the default value that is 100 requests in 10 seconds.
-
Custom load test
ddosify -t https://getanteon.com -n 1000 -d 20 -m PUT -T 7 -P http://proxy_server.com:80
Ddosify sends a total of 1000 PUT requests to https://getanteon.com over proxy http://proxy_server.com:80 in 20 seconds with a timeout of 7 seconds per request.
-
Usage for CI/CD pipelines (JSON output)
ddosify -t https://getanteon.com -o stdout-json | jq .avg_duration
Ddosify outputs the result in JSON format. Then
jq
(or any other command-line JSON processor) fetches theavg_duration
. The rest depends on your CI/CD flow logic. -
Scenario based load test
ddosify -config config_examples/config.json
Ddosify first sends HTTP/2 POST request to https://getanteon.com/endpoint_1 using basic auth credentials test_user:12345 over proxy http://proxy_host.com:proxy_port and with a timeout of 3 seconds. Once the response is received, HTTPS GET request will be sent to https://getanteon.com/endpoint_2 along with the payload included in config_examples/payload.txt file with a timeout of 2 seconds. This flow will be repeated 20 times in 5 seconds and response will be written to stdout.
-
Load test with Dynamic Variables (Parameterization)
ddosify -t https://getanteon.com/{{_randomInt}} -d 10 -n 100 -h 'User-Agent: {{_randomUserAgent}}' -b '{"city": "{{_randomCity}}"}'
Ddosify sends a total of 100 GET requests to https://getanteon.com/{{_randomInt}} in 10 seconds.
{{_randomInt}}
path generates random integers between 1 and 1000 in every request. Dynamic variables can be used in URL, headers, payload (body) and basic authentication. In this example, Ddosify generates a random user agent in the header and a random city in the body. The full list of the dynamic variables can be found in the docs. -
Correlation (Captured Variables)
ddosify -config ddosify_config_correlation.json
Ddosify allows you to specify variables at the global level and use them throughout the scenario, as well as extract variables from previous steps and inject them to the next steps in each iteration individually. You can inject those variables in requests url, headers and payload(body). The example config can be found in correlation-config-example.
-
Test Data
ddosify -config ddosify_data_csv.json
Ddosify allows you to load test data from a file, tag specific columns for later use. You can inject those variables in requests url, headers and payload (body). The example config can be found in test-data-example.