github.com/kubeshop/testkube@v1.17.23/contrib/executor/jmeterd/scripts/jmeter-slaves.sh (about)

     1  #!/bin/bash
     2  
     3  echo "********************************************************"
     4  echo "*              Installing JMeter Plugins               *"
     5  echo "********************************************************"
     6  echo
     7  
     8  if [ -d ${JMETER_PARENT_TEST_FOLDER}/plugins ]
     9  then
    10    echo "Installing user plugins from ${JMETER_PARENT_TEST_FOLDER}/plugins"
    11    for plugin in ${JMETER_PARENT_TEST_FOLDER}/plugins/*.jar; do
    12        echo "Copying plugin $plugin to ${JMETER_HOME}/lib/ext/"
    13        cp $plugin ${JMETER_HOME}/lib/ext
    14    done;
    15  else
    16    echo "No user plugins provided as directory ${JMETER_PARENT_TEST_FOLDER}/plugins is not present"
    17  fi
    18  echo
    19  
    20  echo "********************************************************"
    21  echo "*            Initializing JMeter Master                *"
    22  echo "********************************************************"
    23  echo
    24  
    25  freeMem=`awk '/MemAvailable/ { print int($2/1024) }' /proc/meminfo`
    26  
    27  [[ -z ${JVM_XMN} ]] && JVM_XMN=$(($freeMem/10*2))
    28  [[ -z ${JVM_XMS} ]] && JVM_XMS=$(($freeMem/10*8))
    29  [[ -z ${JVM_XMX} ]] && JVM_XMX=$(($freeMem/10*8))
    30  
    31  echo "Setting dynamically heap size based on available resources JVM_ARGS=-Xmn${JVM_XMN}m -Xms${JVM_XMS}m -Xmx${JVM_XMX}m"
    32  export JVM_ARGS="-Xmn${JVM_XMN}m -Xms${JVM_XMS}m -Xmx${JVM_XMX}m"
    33  
    34  if [ -n "$OVERRIDE_JVM_ARGS" ]; then
    35    echo "Overriding JVM_ARGS=${OVERRIDE_JVM_ARGS}"
    36    export JVM_ARGS="${OVERRIDE_JVM_ARGS}"
    37  fi
    38  
    39  if [ -n "$ADDITIONAL_JVM_ARGS" ]; then
    40    echo "Appending additional JVM args: ${ADDITIONAL_JVM_ARGS}"
    41    export JVM_ARGS="${JVM_ARGS} ${ADDITIONAL_JVM_ARGS}"
    42  fi
    43  
    44  echo "Available memory: ${freeMem} MB"
    45  echo "Configured JVM_ARGS=${JVM_ARGS}"
    46  echo
    47  
    48  echo "********************************************************"
    49  echo "*              Starting JMeter Server                  *"
    50  echo "********************************************************"
    51  echo
    52  
    53  SERVER_ARGS="-Dserver.rmi.localport=60001 -Dserver_port=1099 -Jserver.rmi.ssl.disable=${SSL_DISABLED}"
    54  echo "Running command: jmeter-server ${SERVER_ARGS} ${SLAVES_ADDITIONAL_JMETER_ARGS}"
    55  echo
    56  
    57  jmeter-server ${SERVER_ARGS} ${SLAVES_ADDITIONAL_JMETER_ARGS}