I am using rally as a Benchmarking tool for elastic. I have actually 2 issues:

  • Index-name: is there a way to change or add prefix for the indices created during a race?
    I tried index_settings but it does not work

  • User Roles: to use rally against a secured HTTPS elastic instance. Which roles could I use? or should I defined a new role and user for rally


That depends on the Rally track that you use. The respective track README file (see e.g. nyc_taxis) documents the exposed track parameters. Usually the tracks do not allow to change the index names though.

In our own benchmarks we grant the benchmark user superuser privileges, mostly for the reason that the cluster is only created for benchmark purposes and immediately destroyed afterwards. What privileges are required depends - again - on the Rally track but usually the respective role needs to be able to create and delete the indices that are used in the benchmark, call stats APIs and bulk-index data.

From a security perspective a dedicated role and user makes sense. You can specify the credentials via the --client-options parameter (see the docs) and specifically the examples there how to do that).

From a benchmarking methodology perspective you need to make sure that the only workload on that cluster is the benchmark to get representative results. See also our blog post Seven Tips for Better Elasticsearch Benchmarks for more tips about benchmark methodology.



Thanks for reply. For the first issue regarding the index name. It is okey. However, regarding the second point. I am trying to create a role and assign the required privilages for rally. But, there is no definition of the required privileges exactly for rally races. So, I am trying one by one.

Do you have a defined set of privilages that should be included and do not hinder the races functionalities.



the required privileges depend very much on the workload that you benchmark so we cannot define this upfront without knowing the workload. For example, if your benchmark only issues queries on a pre-created cluster then the respective user only needs read privileges but if you run a benchmark where you create indices, you need to grant more privileges.

In general we assume that the system that is benchmarked only runs the benchmark workload and nothing else. And based on the assumption that the cluster being benchmarked can be tossed easily after the benchmark is done, we usually run our benchmarks with superuser privileges.



your question(s) seem unrelated to the topic here? Would you mind creating a new topic for your questions? Thank you!


hello, removed, sorry

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