Skip to content

Commit

Permalink
Merge pull request #8 from Informatievlaanderen/chore/add-bulk-ingest…
Browse files Browse the repository at this point in the history
…-test

Chore/add bulk ingest test
  • Loading branch information
rorlic authored Mar 29, 2024
2 parents 9ad841b + e4b7e44 commit 38ec2ea
Show file tree
Hide file tree
Showing 18 changed files with 340 additions and 91 deletions.
1 change: 1 addition & 0 deletions load-testing/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
tests/**
jmeter.log
database
logs/**
2 changes: 1 addition & 1 deletion load-testing/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ services:

jmeter-runner:
container_name: performance_testing_jmeter-runner
image: ghcr.io/informatievlaanderen/jmeter-runner:20240327t1117
image: ghcr.io/informatievlaanderen/jmeter-runner:20240329t1143
networks:
- performance_testing
ports:
Expand Down
3 changes: 2 additions & 1 deletion load-testing/server/ingest.speed.01T.jmx
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@
<hashTree>
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults">
<intProp name="HTTPSampler.connect_timeout">3000</intProp>
<intProp name="HTTPSampler.response_timeout">1000</intProp>
<intProp name="HTTPSampler.response_timeout">3000</intProp>
<stringProp name="HTTPSampler.domain">${hostname}</stringProp>
<stringProp name="HTTPSampler.port">${port}</stringProp>
<stringProp name="HTTPSampler.contentEncoding">utf8</stringProp>
Expand Down Expand Up @@ -231,6 +231,7 @@
</PostThreadGroup>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Tear Down - Delete LDES">
<intProp name="HTTPSampler.response_timeout">15000</intProp>
<stringProp name="HTTPSampler.path">/admin/api/v1/eventstreams/observations</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<stringProp name="HTTPSampler.method">DELETE</stringProp>
Expand Down
3 changes: 2 additions & 1 deletion load-testing/server/ingest.speed.02T.jmx
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@
<hashTree>
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults">
<intProp name="HTTPSampler.connect_timeout">3000</intProp>
<intProp name="HTTPSampler.response_timeout">1000</intProp>
<intProp name="HTTPSampler.response_timeout">3000</intProp>
<stringProp name="HTTPSampler.domain">${hostname}</stringProp>
<stringProp name="HTTPSampler.port">${port}</stringProp>
<stringProp name="HTTPSampler.contentEncoding">utf8</stringProp>
Expand Down Expand Up @@ -231,6 +231,7 @@
</PostThreadGroup>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Tear Down - Delete LDES">
<intProp name="HTTPSampler.response_timeout">15000</intProp>
<stringProp name="HTTPSampler.path">/admin/api/v1/eventstreams/observations</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<stringProp name="HTTPSampler.method">DELETE</stringProp>
Expand Down
21 changes: 12 additions & 9 deletions load-testing/server/ingest.speed.04T.jmx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<boolProp name="TestPlan.functional_mode">false</boolProp>
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
</TestPlan>
<hashTree>
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="Variables">
Expand Down Expand Up @@ -53,7 +55,7 @@
</collectionProp>
</Arguments>
<hashTree/>
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults">
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
<intProp name="HTTPSampler.connect_timeout">3000</intProp>
<intProp name="HTTPSampler.response_timeout">5000</intProp>
<stringProp name="HTTPSampler.domain">${hostname}</stringProp>
Expand All @@ -65,7 +67,7 @@
<stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
</ConfigTestElement>
<hashTree/>
<SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="Setup">
<SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="Setup" enabled="true">
<intProp name="ThreadGroup.num_threads">1</intProp>
<intProp name="ThreadGroup.ramp_time">1</intProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
Expand All @@ -76,7 +78,7 @@
</elementProp>
</SetupThreadGroup>
<hashTree>
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager">
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
<collectionProp name="HeaderManager.headers">
<elementProp name="" elementType="Header">
<stringProp name="Header.name">Content-Type</stringProp>
Expand All @@ -85,7 +87,7 @@
</collectionProp>
</HeaderManager>
<hashTree/>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Setup - Create LDES">
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Setup - Create LDES" enabled="true">
<stringProp name="HTTPSampler.path">/admin/api/v1/eventstreams</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
Expand All @@ -102,7 +104,7 @@
</elementProp>
</HTTPSamplerProxy>
<hashTree/>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Setup - Create by-page View">
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Setup - Create by-page View" enabled="true">
<stringProp name="HTTPSampler.path">/admin/api/v1/eventstreams/observations/views</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
Expand Down Expand Up @@ -135,7 +137,7 @@
<hashTree>
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults">
<intProp name="HTTPSampler.connect_timeout">3000</intProp>
<intProp name="HTTPSampler.response_timeout">1000</intProp>
<intProp name="HTTPSampler.response_timeout">3000</intProp>
<stringProp name="HTTPSampler.domain">${hostname}</stringProp>
<stringProp name="HTTPSampler.port">${port}</stringProp>
<stringProp name="HTTPSampler.contentEncoding">utf8</stringProp>
Expand All @@ -154,7 +156,7 @@
</collectionProp>
</HeaderManager>
<hashTree/>
<CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter">
<CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter" enabled="true">
<stringProp name="CounterConfig.start">1</stringProp>
<stringProp name="CounterConfig.end"></stringProp>
<stringProp name="CounterConfig.incr">1</stringProp>
Expand All @@ -163,7 +165,7 @@
<boolProp name="CounterConfig.per_user">false</boolProp>
</CounterConfig>
<hashTree/>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Test - Send ${total_count} members (${threads}T)">
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Test - Send ${total_count} members (${threads}T)" enabled="true">
<intProp name="HTTPSampler.concurrentPool">6</intProp>
<stringProp name="HTTPSampler.path">/observations</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
Expand Down Expand Up @@ -219,7 +221,7 @@
<hashTree/>
</hashTree>
</hashTree>
<PostThreadGroup guiclass="PostThreadGroupGui" testclass="PostThreadGroup" testname="Tear Down">
<PostThreadGroup guiclass="PostThreadGroupGui" testclass="PostThreadGroup" testname="Tear Down" enabled="true">
<intProp name="ThreadGroup.num_threads">1</intProp>
<intProp name="ThreadGroup.ramp_time">1</intProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
Expand All @@ -231,6 +233,7 @@
</PostThreadGroup>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Tear Down - Delete LDES">
<intProp name="HTTPSampler.response_timeout">15000</intProp>
<stringProp name="HTTPSampler.path">/admin/api/v1/eventstreams/observations</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<stringProp name="HTTPSampler.method">DELETE</stringProp>
Expand Down
3 changes: 2 additions & 1 deletion load-testing/server/ingest.speed.08T.jmx
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@
<hashTree>
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
<intProp name="HTTPSampler.connect_timeout">3000</intProp>
<intProp name="HTTPSampler.response_timeout">1000</intProp>
<intProp name="HTTPSampler.response_timeout">3000</intProp>
<stringProp name="HTTPSampler.domain">${hostname}</stringProp>
<stringProp name="HTTPSampler.port">${port}</stringProp>
<stringProp name="HTTPSampler.contentEncoding">utf8</stringProp>
Expand Down Expand Up @@ -233,6 +233,7 @@
</PostThreadGroup>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Tear Down - Delete LDES" enabled="true">
<intProp name="HTTPSampler.response_timeout">15000</intProp>
<stringProp name="HTTPSampler.path">/admin/api/v1/eventstreams/observations</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<stringProp name="HTTPSampler.method">DELETE</stringProp>
Expand Down
30 changes: 25 additions & 5 deletions load-testing/workbench/ingest.throughput.L-01T.jmx
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,38 @@
</elementProp>
</TestPlan>
<hashTree>
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="Labels">
<collectionProp name="Arguments.arguments">
<elementProp name="threads" elementType="Argument">
<stringProp name="Argument.name">threads</stringProp>
<stringProp name="Argument.value">1</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="size" elementType="Argument">
<stringProp name="Argument.name">size</stringProp>
<stringProp name="Argument.value">large</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="type" elementType="Argument">
<stringProp name="Argument.name">type</stringProp>
<stringProp name="Argument.value">throughput</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="component" elementType="Argument">
<stringProp name="Argument.name">component</stringProp>
<stringProp name="Argument.value">LDIO-workbench</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</Arguments>
<hashTree/>
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="Variables">
<collectionProp name="Arguments.arguments">
<elementProp name="count" elementType="Argument">
<stringProp name="Argument.name">count</stringProp>
<stringProp name="Argument.value">2500</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="threads" elementType="Argument">
<stringProp name="Argument.name">threads</stringProp>
<stringProp name="Argument.value">1</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="loops" elementType="Argument">
<stringProp name="Argument.name">loops</stringProp>
<stringProp name="Argument.value">200</stringProp>
Expand Down
30 changes: 25 additions & 5 deletions load-testing/workbench/ingest.throughput.L-02T.jmx
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,38 @@
</elementProp>
</TestPlan>
<hashTree>
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="Labels">
<collectionProp name="Arguments.arguments">
<elementProp name="threads" elementType="Argument">
<stringProp name="Argument.name">threads</stringProp>
<stringProp name="Argument.value">2</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="size" elementType="Argument">
<stringProp name="Argument.name">size</stringProp>
<stringProp name="Argument.value">large</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="type" elementType="Argument">
<stringProp name="Argument.name">type</stringProp>
<stringProp name="Argument.value">throughput</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="component" elementType="Argument">
<stringProp name="Argument.name">component</stringProp>
<stringProp name="Argument.value">LDIO-workbench</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</Arguments>
<hashTree/>
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="Variables">
<collectionProp name="Arguments.arguments">
<elementProp name="count" elementType="Argument">
<stringProp name="Argument.name">count</stringProp>
<stringProp name="Argument.value">2500</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="threads" elementType="Argument">
<stringProp name="Argument.name">threads</stringProp>
<stringProp name="Argument.value">2</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="loops" elementType="Argument">
<stringProp name="Argument.name">loops</stringProp>
<stringProp name="Argument.value">100</stringProp>
Expand Down
30 changes: 25 additions & 5 deletions load-testing/workbench/ingest.throughput.L-04T.jmx
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,38 @@
</elementProp>
</TestPlan>
<hashTree>
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="Labels">
<collectionProp name="Arguments.arguments">
<elementProp name="threads" elementType="Argument">
<stringProp name="Argument.name">threads</stringProp>
<stringProp name="Argument.value">4</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="size" elementType="Argument">
<stringProp name="Argument.name">size</stringProp>
<stringProp name="Argument.value">large</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="type" elementType="Argument">
<stringProp name="Argument.name">type</stringProp>
<stringProp name="Argument.value">throughput</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="component" elementType="Argument">
<stringProp name="Argument.name">component</stringProp>
<stringProp name="Argument.value">LDIO-workbench</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</Arguments>
<hashTree/>
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="Variables">
<collectionProp name="Arguments.arguments">
<elementProp name="count" elementType="Argument">
<stringProp name="Argument.name">count</stringProp>
<stringProp name="Argument.value">2500</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="threads" elementType="Argument">
<stringProp name="Argument.name">threads</stringProp>
<stringProp name="Argument.value">4</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="loops" elementType="Argument">
<stringProp name="Argument.name">loops</stringProp>
<stringProp name="Argument.value">50</stringProp>
Expand Down
30 changes: 25 additions & 5 deletions load-testing/workbench/ingest.throughput.L-08T.jmx
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,38 @@
<boolProp name="TestPlan.functional_mode">false</boolProp>
</TestPlan>
<hashTree>
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="Labels">
<collectionProp name="Arguments.arguments">
<elementProp name="threads" elementType="Argument">
<stringProp name="Argument.name">threads</stringProp>
<stringProp name="Argument.value">8</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="size" elementType="Argument">
<stringProp name="Argument.name">size</stringProp>
<stringProp name="Argument.value">large</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="type" elementType="Argument">
<stringProp name="Argument.name">type</stringProp>
<stringProp name="Argument.value">throughput</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="component" elementType="Argument">
<stringProp name="Argument.name">component</stringProp>
<stringProp name="Argument.value">LDIO-workbench</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</Arguments>
<hashTree/>
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="Variables">
<collectionProp name="Arguments.arguments">
<elementProp name="count" elementType="Argument">
<stringProp name="Argument.name">count</stringProp>
<stringProp name="Argument.value">2500</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="threads" elementType="Argument">
<stringProp name="Argument.name">threads</stringProp>
<stringProp name="Argument.value">8</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="loops" elementType="Argument">
<stringProp name="Argument.name">loops</stringProp>
<stringProp name="Argument.value">25</stringProp>
Expand Down
Loading

0 comments on commit 38ec2ea

Please sign in to comment.