Command Structure¶
vex [OPTIONS] --target <TARGET>
Required Options¶
--target <TARGET>¶
The target host to test. Accepts:
- Hostname: example.com
- IPv4 address: 192.0.2.1
- IPv6 address: [2001:db8::1]
- With port: example.com:8443, [::1]:9000
Examples:
vex --target example.com
vex --target 192.0.2.1
vex --target [2001:db8::1]:8443
Load Configuration¶
--workers <N>¶
Number of concurrent workers (tasks) executing requests in parallel.
- Default: 1
- Minimum: 1
- Affects concurrency level and throughput
vex --target example.com --workers 100
--requests <N>¶
Total number of requests to send across all workers.
- Default: 1000
- Distributed evenly across workers using quotient + remainder logic
- If combined with
--duration, whichever limit is reached first stops the test
vex --target example.com --requests 5000
--duration <SECS>¶
Maximum time to run the load test in seconds.
- Default: 30
- Test stops when duration expires or all requests complete (whichever comes first)
- Workers may not complete their assigned requests if duration limit is reached
vex --target example.com --duration 60
Connection Configuration¶
--port <PORT>¶
Target port number.
- Default: 443
- Port embedded in target takes precedence over this option
vex --target example.com --port 8443
vex --target example.com:9000 --port 443 # Uses port 9000
--path <PATH>¶
Request path for each HTTP request.
- Default: /
- Must start with /
vex --target example.com --path /api/v1/test
--insecure¶
Disable TLS certificate verification.
- Default: Disabled (certificates are verified)
- Use for self-signed certificates or testing
vex --target localhost --port 8443 --insecure
Output Configuration¶
--success-status <PATTERN>¶
Define which HTTP status codes count as successful requests.
- Default:
2xx(HTTP 200-299 only) - Pattern syntax supports class (2xx, 3xx, 4xx, 5xx) or specific codes (comma-separated)
Examples:
# Default: only 2xx counts as success
vex --target example.com
# Count both 2xx and 3xx as success
vex --target example.com --success-status 2xx,3xx
# Count specific status codes as success
vex --target example.com --success-status 200,201,204,301,302
This affects the "Successful/Failed requests" counts in the output.
--verbose¶
Enable verbose output.
- Default: Disabled
- Prints response headers for each request (may reduce throughput)
- Only captures response body when verbose is enabled
- Useful for debugging
vex --target example.com --verbose
Full Example¶
All options combined:
vex --target api.example.com \
--port 8443 \
--workers 50 \
--requests 5000 \
--duration 120 \
--path /api/v2/test \
--insecure \
--verbose
Short Options¶
Some options support short forms:
-n <N>for--requests-w <N>for--workers-t <SECS>for--duration
Example:
vex --target example.com -w 100 -n 5000 -t 60