Closed hofmannc closed 7 years ago
please check also this info (given by Wilhelm) - would grinder be useful for us?
Fredora-Commons benutzt für die Lasttests NICHT Docker, sondern Grinder und JMeter:
https://github.com/rtu/fcrepo-test-grinder https://github.com/fcrepo4-labs/fcrepo4-jmeter
Fedora-Commmons gibt es auch als Docker: https://github.com/yinlinchen/fcrepo4-docker
Grinder and JMeter aims generally overlap. Grinder generates load and is not used for setting up the actual test environment like Docker is. The difference between both is that tests in Grinder require scripts and test in JMeter are built by combining components. JMeter's generated report functionality offers more features in general, which is relevant for us.
Testing with a Docker container on the production server: Advantages: comparatively easy installation of all required components possible to create a baseline we could revert our test environment back to at any time negligible server overload from running Docker
Disadvantages: SUT is not installed on Docker, which is a major difference between the environments if load tests lead to server downtime (likely), the live instance performance will also be affected. We can potentially take measures against this if we run the tests at night resource sharing with the live instance
Testing on a separate (QA) server: Advantages: installation closer to production environment if we need to examine server logs, we will not need to separate test use from actual use
Disadvantages: possibly a more complicated installation reinstalling will require the same effort without a baseline different specifications of live and QA server -> adjusting test results to the actual environment is not trivial
In load testing best practices are 1. creating a test environment as close to production as possible 2. separating test from production environment Considering this, I would at first recommend to use a separate server for the test environment
There are two options to realize our test environment -> copy live server or implement test environment in a container on live server.
Please analyze the "docker topic" (by February) 1.Would docker be feasable for our environment (in principle)? 2.Are there alternative tools? 3.What would be necessary to implement our test environment in docker? 4.How would the processes look like? -to implement test environment -to run qa tests on live server