2.3 KiB
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 --helpdd-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.shby 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.