Versions Compared

Key

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


Table of Contents

Setup Your Instance

  1.  Set up database if you plan to use one.

It is important that you capture the following information related to your setup: 

(Perhaps we might want to think about a yaml config file in case we want to build some tooling)

Prerequisites

  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.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
    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. JavaFedora 4Java
      any java
      configuration options (e.g. -Xmx 2G)
    8. binary configuration:  local,  network,  S3
    9. is virtual?
    10. is test runner on the same machine? 
    11. Binary Configuration
      (local, network, S3)





      Java 84.7.3


  2. Database Specs (Using JDBC object store)Database Specs
    1. type (mysql, postgresql, aurora, etc)
    2. deployment: local or remote
    3. if using a remote databaseif remote
      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)

    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=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

    Code Block
    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

      Code Block
      R


    3. 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


Share Your Results with the Community