The sample
code below is a typical
rc.perf script that
you can modify for use at your own site. Follow the instructions in
the section above to customize the script for your SPD Server installation.
To assist you, the values that you might need to change have been
highlighted. It is recommended that you copy and paste the text below
into a text editor of your preference, make your changes, and then
save the file to your SPD Server installation in a location where
the script can be called for execution.
#!/bin/ksh
#--------------------------------------------------------------------------
#
# PURPOSE: Start the SPD Performance Profiler for the specified servers.
#
# PARAMETERS: version - Version of SPDS to build and run (e.g., dev, 403).
#
# NOTES: Common optional parameters:
# -nsport overrides NSPORT for server.
# -snport overrides SNPORT for server.
# -debug use alternate port numbers for development.
#
# The default repetition count for spdsperf is 3. This script
# over-rides the default to run indefinitely. Supplying a -c
# option to this script will over-ride this new default.
#
# HISTORY: 12Sep06 mjm Optimized for customer use.
# 02Aug06 mjm Created.
#
#--------------------------------------------------------------------------
#
# enable XPG4 versions of ps command on some platforms
#
export UNIX95=1
#
# initialize variables
#
NSPORT=6100
SNPORT=6101
DEBUG=
PARGS="-c 0"
#
# parse parameters
#
while [ $1 ]; do
#echo "Parsing Option $1 of length ${#1}"
case "$1" in
-nsport) if [ $# -lt 2 ]; then
echo "$1 parameter value not specified"
exit 1
fi
NSPORT=$2
shift;;
-snport) if [ $# -lt 2 ]; then
echo "$1 parameter value not specified"
exit 2
fi
SNPORT=$2
shift;;
-debug) DEBUG="YES";;
-trace) echo "********\n* Script: $0\n* Args: $*\n********"
set -x
trace="-trace"
echo "Script tracing turned on";;
*) echo "Found unknown arg, passing on to profiler."
PARGS="$PARGS $1";;
esac
shift
done
echo "NSPORT=$NSPORT"
echo "SNPORT=$SNPORT"
echo "DEBUG=$DEBUG"
echo "PARGS=$PARGS"
#
# Check for debug option
#
if [ -n "$DEBUG" ]; then
NSPORT=9876
SNPORT=9877
echo "Using Debug Ports: NS=$NSPORT SN=$SNPORT"
fi
SSRVPID=$(ps -eo pid,ppid,args | grep spdsserv | grep 6100
| tr -s " " " " | sed -e "s/^ *//" | cut -d " " -f1)
SNETPID=$(ps -eo pid,ppid,args | grep spdssnet | grep 6101
| tr -s " " " " | sed -e "s/^ *//" | cut -d " " -f1)
SHMATID=$(ps -eo pid,ppid,args | grep spdsbase | grep $SSRVPID
| tr -s "\t" " " | sed -ne "1s/^ *//p" | cut -d " " -f4)
echo "SPDSNSRV Pid: $SSRVPID"
echo "SPDSSNET Pid: $SNETPID"
echo "SHMATID: $SHMATID"
INSTDIR=/usr/local/spds
PATH=$INSTDIR/bin
export PATH
LD_LIBRARY_PATH=$INSTDIR/bin
export LD_LIBRARY_PATH
LIBPATH=$INSTDIR/bin
export LIBPATH
# substitute user's display machine name below.
export DISPLAY=machine:0.0
#sleep 4
spdsperf -g $SHMATID -n $SSRVPID -s $SNETPID $PARGS