d8126abd15
This still supports NC24 While there, configure JMeter to restart threads instead of stopping them. This keeps the load on the target server. |
||
---|---|---|
.. | ||
.gitignore | ||
Pipfile | ||
Pipfile.lock | ||
README.md | ||
dd-stress-test.tpl.jmx | ||
dd-test.sh | ||
dd-tests-selenium.py | ||
requirements.txt | ||
vm-tests.sh |
README.md
Stress tests
By executing tests in this normalised fashion it is easier to compare results between different instances or different patch levels.
This documents normalised stress-testing and references files under
stress-tests
.
VM tests
vm-tests.sh
: generate a text file to compare CPU and other factors across VM types, providers or instances which may affect DD performance.
We can compare the resulting logs just with, e.g. vim -d
.
DD tests
Currently these tests perform logins and interact with Nextcloud, but it would be interesting to expand them to interact with other services.
Directory contents
This directory contains following files:
dd-stress-test.tpl.jmx
: template to generate JMeter tests to executedd-tests.sh
: helper script that generates the actual test plan files and executes them. See./dd-tests.sh --help
dd-tests-selenium.py
: this gives us an idea of how a user would perceive DD to be behaving while under load. Called by./dd-tests.sh
by default.
Results
Results will be saved in a results
directory, where each subdirectory
corresponds to a stress test executed with dd-test.sh
.
The naming scheme for those subdirectories is: DOMAIN_THREADCOUNT_DURATION
Where THREADCOUNT
and DURATION
are the corresponding JMeter
parameters.
Each results directory contains:
log
: the JMeter logresults
: the JMeter results filehtml/index.html
: the interactive graphs for the data as produced by JMeterselenium/session.html
: the session report as would be perceived by a user. Note this requires Python3 and selenium and can be disabled by setting the environment variable:USE_SELENIUM=NO
.