Prerequisites

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

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

Instance setup and documentation 

  1. Fedora 4 Specs
    1. AWS

      OS

      Instance Type

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





      Java 84.7.3

    2. On-premises

      OS

      Processor Speed

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





      Java 84.7.3

  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 4 

  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 version (Start from 4.7.3)
    6. Using database? (local or remote) 

Generate Test Data 

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

    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: 

    jmeter -Dfedora_4_server=SERVERIP -Dfedora_4_port=PORT -Dfedora_4_context=fcrepo/rest -Dcontainer_threads=1 -n -t /path/to/fcrepo4-jmeter/fedora.jmx 

Generate Graphs Based  on Your Test Data

  1. Clone the Performance Analysis Project

    git clone https://github.com/fcrepo4-labs/fcrepo_perf_analysis.git
  2. Download and install the latest version of R https://www.r-project.org/

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

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

      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:

      ./createreport.sh perf.log report

Share Your Results with the Community


  • No labels

2 Comments

  1. Colin Gross:  I was finally able to try this again.   I ran into a different error this time: 

    Header check:
    Expected: 12 encountered: 16
    [1] "Unexpected number of input fields!"

    1. Danny Bernstein Which test did you do? The script is working fine with Test 4.