-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathexample-suite.yml
112 lines (107 loc) · 3.6 KB
/
example-suite.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# This file showcases the configuration of most IGUANA features.
# Datasets are optional and have no functionality.
datasets:
- name: "DatasetName"
file: "src/test/resources/dataset.txt"
# Connections that will be used by the workers for the benchmark.
connections:
- name: "Virtuoso7"
authentication:
user: "dba"
password: "dba"
endpoint: "http://localhost:8890/sparql"
dataset: "DatasetName" # optional
- name: "Virtuoso6"
authentication:
user: "dba"
password: "dba"
endpoint: "http://localhost:8891/sparql"
- name: "Blazegraph"
endpoint: "http://localhost:9999/blazegraph/sparql"
authentication:
user: "user"
password: "test"
updateEndpoint: "http://localhost:3030/ds/update"
updateAuthentication:
user: "updateUser"
password: "password"
# The tasks that will be executed by the benchmark. They will be executed in the order they are defined.
tasks:
- type: stresstest # Stresstests are used to test the performance of the system by sending a large number of requests.
warmupWorkers: # Warmup workers are used to warm up the system before the actual stresstest.
- type: SPARQLProtocolWorker
requestType: post update # Send POST requests with application/sparql-update content type to the endpoint.
number: 16 # Initialize 16 workers with the same configuration.
queries:
path: "./example/queries"
format: "folder" # Queries are stored in a folder.
order: "linear"
timeout: 0.02s
connection: Virtuoso7
parseResults: false
completionTarget:
number: 50 # Execute each query 50 times.
workers:
- type: "SPARQLProtocolWorker"
number: 16
queries:
path: "./example/queries.txt"
order: "random"
seed: 42
timeout: 3m
connection: Virtuoso7
parseResults: false
completionTarget:
duration: 1000s # Execute the queries for 1000 seconds.
requestType: post url-enc query # Send url-encoded POST request to endpoint.
- number: 4
type: "SPARQLProtocolWorker"
connection: Virtuoso7
requestType: post url-enc update
completionTarget:
duration: 1000s
queries:
path: "./example/queries.txt"
timeout: 100s
acceptHeader: "application/sparql-results+json" # Accept header for the request.
- type: stresstest
workers:
- type: "SPARQLProtocolWorker"
connection: Virtuoso7
number: 16
requestType: post query
queries:
path: "./example/query_pattern.txt"
pattern:
endpoint: "https://dbpedia.org/sparql"
limit: 1000
save: false
timeout: 180s
completionTarget:
duration: 1000s
parseResults: false
- number: 4
requestType: get query # Send GET request with the query as the parameter to the endpoint.
connection: Virtuoso7
completionTarget:
duration: 1000s
type: "SPARQLProtocolWorker"
queries:
path: "./example/queries.txt"
timeout: 100s
parseResults: true
acceptHeader: "application/sparql-results+json"
# Define how the results will be stored.
storages:
- type: "rdf file"
path: "some.ttl"
- type: "csv file"
directory: "results/"
- type: "triplestore"
user: "dba"
password: "dba"
endpoint: "http://localhost:8890/update"
responseBodyProcessors:
- contentType: "application/sparql-results+json"
threads: 1
timeout: 1 min