Versions Compared

Key

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

...

  1.  Download and install jmeter: http://jmeter.apache.org
    1. Ubuntu 16.04 LTS: installjmeter.sh

      Code Block
      #!/bin/bash
      
      # get source from an apache mirror
      wget http://supergsego.com/apache//jmeter/binaries/apache-jmeter-3.12.tgz
      # verify the md5
      
      local_md5=`md5 -q`md5sum apache-jmeter-3.2.1.tgz`tgz | cut -f 1 -d ' '`
      remote_md5=`curl https://www.apache.org/dist/jmeter/binaries/apache-jmeter-3.12.tgz.md5 | cut -f 1 -d ' '`
      
      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.12.tgz
      # move it 
      sudo mv apache-jmeter-3.12 /usr/local/apache-jmeter-3.12
      # link it
      sudo ln -s /usr/local/apache-jmeter-3.12/bin/jmeter /usr/bin/jmeter
      
      


Instance

...

setup and documentation 

  1. Fedora 4 Instance Specs
    1. AWS

      OS
      (type and version)
    2. Processor Speed
    3. Number of Cores
    4. Instance Type

      vCPUMemoryStorage
      (EBS or SSD)
      JavaFedora 4Java configuration options (e.g. -Xmx 2G)Binary Configuration
      (local, network, S3)





      Java 84.7.3


    5. On-premises

      OS

      Processor Speed

      CoresMemoryStorage
      Disk Type
      (SSD or Hard Disk)
    6. RAM
    7. IOPS (if applicable)
    8. JavaFedora 4Java
      any java
      configuration options (e.g. -Xmx 2G)
    9. binary configuration:  local,  network,  S3
    10. is virtual or physical?
    11. Binary Configuration
      (local, network, S3)





      Java 84.7.3
      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)
  3. JMeter client specs:
    1. AWS:

      OSInstance TypevCPUMemoryStorage
      (EBS or SSD)
      JavaJMeter
      Ubuntu 16.04 LTSt2.small12GBEBSJava 8v3.1


    2. On-premises

      OS

      Processor Speed

      CoresMemoryStorage
      (SSD or Hard Disk)
      JavaJMeter








Fedora

...

  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
    5. Fedora
  2. version  
    1. version (Start from 4.7.3)
  3. Is using a
    1. Using 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. See each test JMeter command in README.  For example, below code block is Test 4 JMeter command

    Code Block
    jmeter -Dfedora_4_server=localhostSERVERIP -Dfedora_4_contextport=restPORT -Dfilesize_min=0 -Dfilesize_max=4096 -DbinaryDfedora_4_context=fcrepo/rest -Dcontainer_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 https://www.r-project.org/

    1. Ubuntu 16.04 LTS: installr.sh
    2. Start R shell

      Code Block
      R
    (3.4.0

    1. Install R Packages: ggplot2, knitr, rmarkdown, svglite

      Code Block
      languagetext
      install.packages("ggplot2")
      install.packages("knitr")
      install.packages("rmarkdown")
      install.packages("svglite")


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

    1. Run all steps in one command using createreport.sh:

      Code Block
      languagebash
      ./createreport.sh perf.log report

      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

...