Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Prerequisites

  1.  Download and install jmeter: http://jmeter.apache.org

    1. Code Block
      #!/bin/bash
      
      
      # get source from an apache mirror
      wget http://supergsego.com/apache//jmeter/binaries/apache-jmeter-3.1.tgz
      # verify the md5
      
      
      local_md5=`md5 -q apache-jmeter-3.1.tgz`
      remote_md5=`curl https://www.apache.org/dist/jmeter/binaries/apache-jmeter-3.1.tgz.md5 | cut -f 1 -d ' '`
      cat apache-jmeter-3.1.tgz.md5
      
      
      if [ "$local_md5" != "$remote_md5" ]
      then
        echo "md5's do not match"
        exit
      else
        echo "congratulations md5s match" 
      fi
      
      
      # untar it.
      tar xvfz apache-jmeter-3.1.tgz
      # move it 
      sudo mv apache-jmeter-3.1 /usr/local/apache-jmeter-3.1
      # link it
      sudo ln -s /usr/local/apache-jmeter-3.1/bin/jmeter /usr/bin/jmeter



Instance Setup

  1. Instance Specs
    1. OS (type and version)
    2. Processor Speed
    3. Number of Cores
    4. Disk Type (SSD or Hard Disk)
    5. RAM
    6. IOPS (if applicable)
    7. any java configuration options (e.g. -Xmx 2G)
    8. binary configuration:  local,  network,  S3
    9. is virtual or physical?
    10. is test runner on the same machine? 
  2. Database Specs (Using JDBC object store)
    1. type (mysql, postgresql, aurora, etc)
    2. if using a remote database
      1. processor speed
      2. processor count
      3. RAM
      4. if RDS,  RDS type (e.g. db1.small)

Fedora 4 setup 

  1. Installation: 
    1. Fedora 4 Quick Start
    2. Deploying Fedora 4 Complete Guide
    3. Database: Configuring JDBC Object Store 
    4. Fedora 4 Ansible script: https://github.com/VTUL/fcrepo4-ansible
  2. Fedora version  (Start from 4.7.3)
  3. Is using a database? (local or remote) 

Generate Test Data 

  1. Download the test scripts and read the README (https://github.com/fcrepo4-labs/fcrepo4-jmeter)

    Code Block
    git clone https://github.com/fcrepo4-labs/fcrepo4-jmeter.git

     

  2. Run a test.  For example: 

    Code Block
    jmeter -Dfedora_4_server=localhost -Dfedora_4_context=rest -Dfilesize_min=0 -Dfilesize_max=4096 -Dbinary_threads=1 -n -t /path/to/fcrepo4-jmeter/fedora.jmx

    (dbernstein: I was not able to run this test without modifying the fedora.jmx file - namely I had to make jmeter continue on error.)

Generate Graphs Based  on Your Test Data

  1. Clone the Performance Analysis Project

    Code Block
    git clone https://github.com/fcrepo4-labs/fcrepo_perf_analysis.git


  2. Download and install the latest version of R (3.4.0)

  3. Follow steps outlined in https://github.com/fcrepo4-labs/fcrepo_perf_analysis

    1. dbernstein:  I was unable to get past the column checking step 

      Code Block
      Rscript 01-check-jmeter-log.r ~/code/performance-tests/2017-03-16/log/perf.log 
      Header check:
      Expected: 12 encountered: 10 
      [1] "Unexpected number of input fields!"


Share Your Results with the Community