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}