Iteration Concept

{
  "challenge": {
    "name": "just-search",
    "schedule": [
      {
        "operation": {
          "operation-type": "search",
          "index": "_all",
          "body": {
            "query": {
              "match_all": {}
            }
          }
        },
        "iterations": 100,
        "target-throughput": 10
      }
    ]
  }
}

This track assumes that you have an existing cluster with pre-populated data. It will run the provided match_all query at 10 operations per second with one client and use 100 iterations as warmup and the next 100 iterations to measure.

The iteration concept confuses me
What does iteration mean? Does one iteration mean one operation, if not what's the relationship between iteration and operation?

From target-throughput and iterations, could we know how many operations and how long does one client execute?

If one iteration means one operation, in the example, does it mean we need to take 10 seconds to run all the operations?

We call something that you want to execute an "operation" (e.g. bulk-indexing, a term query for a username, an aggregation).

The unit "operations per second" means that this specific operation was run N times within one second.

The term "iteration" means that each client send that many requests to Elasticsearch, e.g. if you specify 100 iterations of the operation "query user", Rally will send this query 100 times to Elasticsearch and measures service time and latency.

Yes but only if the target system (Elasticsearch) is able to keep up with the load.

Assuming that Elasticsearch can handle the load that you generate, then your assumption is correct.

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