retrystorm · Learn · Interview practice · Glossary · Components

Home › Reference › Components › Client

Client

Generates open-loop or closed-loop load with read/write mix.

Settings

Mode
Open loop sends requests at the scenario's rate whether or not earlier ones finished, so a slow system piles up work. Closed loop uses a fixed number of virtual users who each wait for a reply, pause, then ask again.
Key distribution
Which keys reads ask for. Uniform picks every key equally. Zipfian makes a few keys very popular, like real traffic, which helps caches but concentrates load on hot keys.
Write-key strategy
Which keys writes touch. By default writes hit the same keys as reads, overwriting existing values. Create new makes each write a brand new key, like inserting new records.
Think time (closed-loop)
In closed-loop mode, how long each virtual user pauses after a reply before sending the next request. Longer pauses mean less load. Shapes: constant, lognormal (mostly near the mean), exponential, uniform. Unused in open loop.
Timeout (ms)
How long the client waits for an answer before giving up on that attempt, and retrying if it is allowed to.
Answers lost on the way back
Chance that a reply is lost on its way back even though the server did the work. The client sees a failure and may retry, so a write can run twice unless an idempotency key is used. 0 is never, 1 is always.
Retries
Whether the client tries again after a failure. Waiting between tries keeps retries from piling onto a struggling database.
Object size (KB)
Size of each stored object in KB, fixed per key for the whole run. Bigger objects take longer to send and can fill a component's network bandwidth. Leave unset to ignore bandwidth. Shapes: constant, lognormal, exponential, uniform.
Share of the traffic
The fraction of the scenario's total traffic this client generates. 1 is all of it, 0.5 is half. Use it to split load between several clients.
Reads
The fraction of this client's requests that are reads, the rest are writes. 0.9 means 90% reads. Overrides the scenario's own read/write mix. More writes load the database and invalidate caches more.
About · Contact · Privacy · Terms of use