Main Challenge
The load test needs to scale at least as good as the target.
We require flexibility even though agents need to run without supervision.
Targets may be on-promise, in the cloud, or mixed.
There is more than HTTP or RESTful APIs.
Florian Rappl, iQuest
Time | Perception |
---|---|
0.1s | Users feel their actions are directly causing something to happen without being interrupted |
1s | Users feel they are navigating freely and stay focused on their current train of thought |
10s | Users feel a break of the flow, get impatient while waiting and leave the site |
Jacob Nielsen, Power of 10: Time Scales in User Experience, 2009 |
Further Reading: latencytipoftheday.blogspot.de
The Flaw of Averages: Why We Underestimate Risk in the Face of Uncertainty; Sam L. Savage, with illustrations by Jeff Danziger.
Always try to be deterministic!
Also it helps to have some kind of logging in order to validate any possible assumption.
The load test needs to scale at least as good as the target.
We require flexibility even though agents need to run without supervision.
Targets may be on-promise, in the cloud, or mixed.
There is more than HTTP or RESTful APIs.
Image by Dr. Alexander Wert and Dr. Christoph Heger, 2016.
"description": "My test description",
"resources": [{
"provider": "azure",
"options": {
"authorization": { ... },
"deployment": {
"region": "West Europe",
"storage": { ... },
"cloudService": { ... },
"serviceBus": { ... }
}
}
}],
"configurations": [ ... ]
"workers": 8192,
"threads": [{
"type": "simulator",
"setup": { ... },
"execution": [
"Delay({ time: `${workerId * 5}s` })",
"GetTokenHash()",
"RandomIdle({ min: '50ms', max: '1s' })",
"GetToken()",
"CheckForSoftwareUpdate()",
"WaitForAll()"
...
]
}]