HTTP & Load Testing
The HTTP & Load Testing group gathers the two clients that send an HTTP request and examine the response, and the two load generators that measure performance by sending intensive requests to a target. The questions "What does the health address of the backend return?", "Does the vService give the correct response for the correct host name?", "How many requests per second does this vService serve, and with what latency?" are the job of this group.
Which Command When?
| Question | Command | Example |
|---|---|---|
| Which status code does the health address of the backend return? | curl | sys-cmd curl -s -o /dev/null -w '%{http_code}' http://10.20.0.30/health |
| Which response does the vService give for a specific host name? | curl | sys-cmd curl -I -H "Host: shop.example.com" http://10.0.7.20/ |
| Seeing the content of the page quickly on the screen | wget · curl | sys-cmd wget -qO- http://10.20.0.30/version |
| How does the vService behave under a specific load? | wrk | sys-cmd wrk -t2 -c50 -d30s http://10.0.7.20/ |
| How does the latency change second by second under load? | h1load | sys-cmd h1load -c 20 -d 30 http://10.0.7.20/ |
Load tests affect real traffic
h1load and wrk send real requests to the target. Applying load with high concurrency to a live vService can slow down real users and can trigger the WAF and rate limiting rules. It is started with a low connection count and a short duration, and production targets are not tested outside a maintenance window.
Common Behavior
| Subject | Behavior |
|---|---|
| Writing | All four are tools with free parameters: everything written after the command name is passed to the tool as it is. Addresses that contain & or $ are written with single quotation marks. |
| Context | The requests are sent from within the selected v-device and route table. |
| File | The files created with the tool's own file writing parameters (curl -o, wget -O <name>) do not land in the temporary file area; if the content is to be kept, it is printed to the screen and saved with | to-file <name>. |
| Recording | Every run is written to the user logs. |
All of the writing rules and the restrictions: System Commands.
