Is it possible to find a maximum throughput (indexing, term,phase) using esrally? if so what value do we have to assign in challenges?

Thanking you


this is a tricky problem to solve automatically (we have a long-standing issue in Rally about this). My general approach would be to start at some throughput, compare latency and service time metrics and increase throughput gradually in subsequent benchmark runs until they start to differ. For more background info please check the blog post Relating Service Utilisation to Latency.

For this to work you need to have a track that exposes the target throughput as a track parameter. None of the standard Rally tracks do this so I suggest you create your own Rally track for this (would make sense anyway if you are interested in the performance characteristics of a specific workload).


Hi Daniel
Thank you for your support with Esrally. I removed throughput parameter from challenges and did a benchmark on a cluster. Since I have removed condition ( "target-throughput": 20) from challenges now I am getting value over 20 .

After I remove this condition from challenges, does esrally gives the highest throughput?

Thanking you.

Yes. Please check the documentation here:

target-throughput (optional): Defines the benchmark mode. If it is not defined, Rally assumes this is a throughput benchmark and will run the task as fast as it can. This is mostly needed for batch-style operations where it is more important to achieve the best throughput instead of an acceptable latency.

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.