Rally

Hello

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

Hi,

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.

Daniel

2 Likes

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.

Thanks

Hi,

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.

Daniel

Hi,

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

Daniel

hello, removed, sorry

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