The following tests are used for measuring Fedora's limits of scale and stress. The approach of these tests is to continuously ingest variously sized files and containers while measuring response times of performance requests at intervals. The tests continue to run until one of the following "completion events" occurs:
- A predefined number of resources have been created
- The collective response time of the performance requests exceeds 1 minute
- Garbage collection is running non-stop
Further reading
- Full (legacy) description of tests: Performance and Scalability Test Plans
- Full (legacy) description of setup/execution of tests: How to Conduct Performance Tests and Share Results
Instructions
These instructions include a "quick start" to get an initial, experimental, testing environment setup. Once the basic setup/execution details have been established, the "real" tests should be performed on a production-like system.
Quick Start
- Download / Install JMeter (verified with JMeter 2.13 through 5.3)
- Unzip/tar the download
- Executable: bin/jmeter
- Download Fedora JMeter test scripts
The important files from the clone are: "fedora.jmx" and "sample.ttl"
git clone https://github.com/fcrepo4-labs/fcrepo4-jmeter.git
- Download / Install Fedora
- Deployment
- The one-click application is a quick way to get started
- Run JMeter test(s)
For example:
jmeter -Dfedora_4_username=<default=fedoraAdmin> -Dfedora_4_password=<default=fedoraAdmin> -Dfedora_4_server=<default=localhost> -Dfedora_4_context=<default=rest> -Dfilesize_min=0 -Dfilesize_max=4096 -Dbinary_threads=1 -n -t <path/to/fcrepo4-jmeter>/fedora.jmx
Note: To make use of a default value simply leave the relevant parameter out of the command. For example, to run the previous example with default values for username, password, server, and context, execute the following command (this example assumes fedora.jmx is in the current directory):
jmeter -Dfilesize_min=0 -Dfilesize_max=4096 -Dbinary_threads=1 -n -t fedora.jmx
Full Instructions
- Steps #1 and #2 from "Quick Start" are the same
- Regarding step #3 (Installing Fedora), it is important to configure the Java HotSpot VM Options, as appropriate
- Document both the server and client machine specs
- Run JMeter tests (2-5)
- Tests #1 and #6 can be skipped