Skip to content

Tasks

The tasks are the core of the benchmark suite. They define the actual process of the benchmarking suite and are executed from top to bottom in the order they are defined in the configuration. At the moment, the stresstest is the only implemented task.

Tasks are defined in the tasks section of the configuration and are distinguished by the type property.

Example

tasks:
  - type: "stresstest"
    # properties of the task
    # ...

Stresstest

The stresstest-task queries the specified endpoints in rapid succession with the given queries. It measures the time it takes to execute each query and calculates the required metrics based on the measurements. The task is used to measure the performance of the endpoint for each query. The task is configured with the following properties:

property required description
workers yes An array that contains worker configurations.
warmupworkers no An array that contains worker configurations for the warmup.

The stresstest uses workers to execute the queries, which are supposed to simulate users. Each worker has its own set of queries and executes them parallel to the other workers.

Warmup workers have the same functionality as normal workers, but their results won't be processed and stored. The stresstest runs the warmup workers before the actual workers. They're used to warm up the system before the actual benchmarking starts.

For more information about the worker configuration, see here.

Example

tasks:
  - type: "stresstest"
    workers:
    - type: "SPARQLProtocolWorker"
      # ... worker properties
    warmupworkers:
    - type: "SPARQLProtocolWorker"
      # ...