-
Notifications
You must be signed in to change notification settings - Fork 4
Query Workloads of the Benchmark
The basis of the LinGBM query workloads are 16 templates of GraphQL queries. This mix of query templates has been hand-crafted to cover all the choke points that have been identified in the initial design phase of the benchmark.
The query templates contain one or more placeholders for values that exist in the generated benchmark datasets. Hence, to instantiate any of the templates into an actual query, every placeholder has to be substituted by one of the possible values. The query workloads consist of such queries obtained by instantiating the templates.
In addition to the textual definition of the query templates, the templates are defined in the GraphQL query language. That is, every template is defined as a GraphQL query with variables that represent the placeholders of the template. These template GraphQL queries are expressed in terms of the LinGBM GraphQL schema and can be found in the directory ./artifacts/queryTemplates/main/ of the LinGBM github repository. The LinGBM Query Generator can be used to generate actual GraphQL queries as instances of this, and any other, GraphQL-based representation of the query templates.
As mentioned above, the GraphQL-based representation of the query templates uses the LinGBM GraphQL schema. This schema has been defined specifically for the first of the two scenarios captured by LinGBM. Hence, instantiating this GraphQL-based representation of the query templates gives us query workloads for tests in the context of this first scenario. We consider two classes of such workloads:
-
Workloads for experiments that focus on a fine-grain analysis of response times achieved by GraphQL servers: such workloads consist of one (or very few) instances per query template.
- A concrete version of such a workload that can be used in combination with any benchmark dataset of scale factor 100 or greater can be found at: TODO
-
Workloads for experiments to analyze throughput of GraphQL-based client-server systems: such workloads consist of many instances per query template.
- A concrete version of such a workload that can be used in combination with any benchmark dataset of scale factor 1000 or greater can be found at: TODO
TODO ...