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.