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

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

  1. Download / Install JMeter (verified with JMeter 2.13 through 5.3)
    1. Unzip/tar the download
    2. Executable: bin/jmeter
  2. Download Fedora JMeter test scripts
    1. The important files from the clone are:  "fedora.jmx" and "sample.ttl"

      git clone https://github.com/fcrepo4-labs/fcrepo4-jmeter.git
  3. Download / Install Fedora
    1. Deployment
    2. The one-click application is a quick way to get started
  4. Run JMeter test(s)
    1. 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
    2. 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

  1. Steps #1 and #2 from "Quick Start" are the same
  2. Regarding step #3 (Installing Fedora), it is important to configure the Java HotSpot VM Options, as appropriate
  3. Document both the server and client machine specs
    1. Performance Test Result template
    2. Determining Hardware Properties
  4. Run JMeter tests (2-5)
    1. Tests #1 and #6 can be skipped
  • No labels