symping
This command sends workload to a cluster to test and verify that IBM® Spectrum Symphony components are working and responsive.
Synopsis
Description
Use the symping IBM Spectrum Symphony client to send test workload to check that the cluster is working. You can also use this client to send different types of workload.Without any options, symping tests for a complete workload cycle. In this type of test, workload is run through the cluster with full recoverability enabled (session and history). This type of run provides minimum, maximum, and average full trip times. The average processing time averaged across all hosts is also displayed.
- number of sessions: 1
- number of tasks: 20
- session type: RecoverableAllHistoricalData
- task processing time: 50 milliseconds
- input message size: 64 bytes
- output message size: 128 bytes
- A service: sympingservice. The service sleeps for the task processing time. The service is always preloaded and holds one slot in the ComputeHosts group, even when idle. Use the -r and -o options to change the task processing time or the output message size.
- An application profile: symping732.xml.
- Location of symping executables and configuration:
- Windows: %SOAM_HOME%\version\w2k3_x64-vc7-psdk\bin
- Linux®: Located in the architecture-specific directory. For example, $SOAM_HOME/version/linux2.6-glibc2.3-x86_64 /bin
- -h
- Prints command usage to stdout and exits.
- -V
- Prints product version to stdout and exits.
symping options
- -f configuration_file
- Path and configuration file to use. The configuration file must be accessible from the machine on which the symping client is running.
Use this option to specify options in a configuration file instead of specifying them on the command line. If options are specified on the command line and a configuration file is specified, command-line options override those in the configuration file.
You can find a sample configuration file symping.conf in the bin directory in which the symping client is located.
- -u user_name
- Not applicable to IBM Spectrum Symphony Developer
Edition.
Specifies the name of the user to connect to IBM Spectrum Symphony for this command. The user must have access to the consumer to which the application is registered.
. Specify the -u and -x options when running the symping command; otherwise, by default, command uses
Admin
as both the username and password.If you are already logged on to IBM Spectrum Symphony using soamlogon, for this command, only the username specified here overrides the username entered in soamlogon.
- -x password
- Not applicable to IBM Spectrum Symphony Developer
Edition.
Specifies the user password to connect to IBM Spectrum Symphony for this command.
. Specify the -u and -x options when running the symping command; otherwise, by default, command uses
Admin
as both the username and password.If you are already logged on to IBM Spectrum Symphony using soamlogon, for this command only the password specified here overrides the password entered in soamlogon.
- -a application_name
- The name of the application that symping submits the workload to. The application name is the
same as it appears in the application profile.To run symping, the symping service binary must be configured in the application profile (it is configured and deployed out of box). If you have a mixed cluster, refer to your installation guide to ensure you have made the necessary modifications for symping to run.Important: The application name should have
symping
in its name. If you copy and rename this application, keep "symping" in the file name so that you can distinguish the applications related to the Symping client from those that are not.Enclose the application name in double quotation marks (" ") if it contains spaces. Precede the application name with two dashes (--) if it starts with a dash.
- -s session_type
- Specifies the type of the session to create. The session type is coded in the symping client and is indicated in the application profile. Including history and recoverability increases the task and session overhead but more likely simulates a production environment.Possible session types are as follows:
- RecoverableAllHistoricalData: Session is recoverable and task and session history are set to "All". This is the default session type when you run symping without any options.
- RecoverableNoHistoricalData: Session is recoverable but no history (session or task) is kept.
- UnrecoverableAllHistoricalData: Session is unrecoverable and no history (session or task) is kept.
- UnrecoverableNoHistoricalData: Session is unrecoverable and no host history (task or session) is kept. This is the default session type if you choose to run symping configured for task overhead with the -T taskoverhead option.
- -l [summary_file]
- If you specify -l without a summary file name, creates a summary file for symping output in the directory in which symping is run with the name symping.summary.date_stamp.hhmmss.
If you specify the path and name to assign to the summary file, generates output in the specified summary file. If the summary file exists, appends output to the existing summary file.
- -T taskoverhead
- Optimizes the symping configuration to calculate task overhead: the IBM Spectrum Symphony overhead for processing a single task. The default configuration is the following:
- Number of sessions: 1
- Number of tasks: 20
- Session type: UnrecoverableNoHistoricalData
- Task processing time: 0 milliseconds
- Input message size: 1024 bytes
- Output message size: 1024 bytes
- Common data: 0 bytes
Results include overhead for longest and shortest task, average overhead, and average processing time.
- -i input_msg_size_in_bytes
- Specifies the size of input messages for all tasks in the session, in bytes.
If you do not specify this option, the input message size for tasks is 64 bytes.
- -o output_msg_size_in_bytes
- Specifies the size of all output messages for all tasks in the session, in bytes.
If you do not specify this option, the output message size for tasks is 128 bytes.
- -r task_processing_time_in_milliseconds
- Specifies how long each task in the session runs, in milliseconds.
Task processing time is a time duration. Task processing time is the pure task processing time, without overhead. It is the time spent on the onInvoke() call. The clock is started when SIM calls onInvoke() in the service code. The clock ends when the onInvoke() returns.If you do not specify the task processing time, tasks run for 50 milliseconds.
- -c common_data_size_in_bytes
- Specifies the size of the common data that is associated with the session and passed from the
client to the service, in bytes.
If you do not specify the size of common data, there is no common data passed from the client application to the service.
- -m number_of_tasks_per_testrun
- Specifies the number of tasks that are sent per test run.
If you do not specify the number of tasks, the client application creates one session with 20 tasks.
- -n number_of_testruns
- Specifies the number of test runs that are created. A test run indicates sending input and
retrieving output.
For example, in one test run with 10 tasks, 1 session is created and 10 tasks sent.
In 2 test runs with 10 tasks, 1 session is created, 10 tasks are sent and output retrieved, then 10 more tasks are sent and output retrieved.
If you do not specify the number of test runs, the client application creates 1 test run.
- -t client_type
- Specifies whether tasks are sent and output retrieved synchronously or asynchronously. Valid values are sync and async.
If you do not specify the client type, tasks are sent and output retrieved asynchronously.
- -g session_tag
- Adds the specified session tag to any session created by symping. A session tag that is shared among sessions provides the ability to query or control these related sessions with a single action.
- -k task_tag
- Adds the specified task tag to all tasks submitted with symping. The task tag can later be used to filter only those tasks that share the given tag.
- -d
- Does not display detailed output for each task.
If you do not use this option, detailed output for each task is displayed.
- -z
- Specifies to consume actual CPU cycles on compute hosts.
If you do not specify this option, the service sleeps for the specified task processing time, not consuming actual CPUs on the compute host.
- -p
- IBM Spectrum Symphony Developer Edition only.
Displays compute host status in IBM Spectrum Symphony Developer Edition.
- -j
- Generates a service log file on compute hosts on which the symping service runs. You can retrieve and view the log file with the cluster management console.The log is written to the following locations:
- Windows: %SOAM_HOME%\work\application_name\session_ID
- Linux: $SOAM_HOME/work/application_name/session_ID
The log file is named according to session and task IDs: sessionID.taskID.
Without this option, no service log is generated.
Output
The following are definitions for terms used in the symping output:- Task overhead
- Duration. IBM Spectrum Symphony overhead for processing a single task. It is calculated as the task roundtrip minus the task processing
- Task processing
- Duration.Pure task processing time (no overhead): time spent on the service onInvoke() call. The clock is started when SIM calls onInvoke() in the service code. The clock ends when onInvoke() returns.
- Task roundtrip
- Duration. Time for a full task cycle (overhead + processing) of a single task. It is the time
from the send task input call to the return of the task output.
Task roundtrip is defined as the task output received minus task input sent.
- Total task roundtrip
- Duration. Time for a full task cycle (overhead + processing) for all tasks in a session. It is
the time from the send task input call to the return of the task output.
Total task roundtrip is defined as the last task output received minus first task input sent,
- Test roundtrip
- Duration. Clock is started when the user runs the symping command. Clock ends when symping returns with the client application's results and returns control to user. This time duration includes initialization, connection time, all phases before session creation time.
Examples
Test for a complete workload cycle
symping
Test for task overhead
Use the -T taskoverhead option to optimize configuration to calculate system overhead.symping -T
taskoverhead
Create a summary file with symping output
Use the -l option to generate a summary file with symping output.symping -l
Generate a service log file on compute hosts
Use the -j option to generate a service log file on compute hosts.symping -j
Run one session with 10 tasks
symping -m
10
Run 2 sessions, 1000 tasks each, 1 millisecond in length
To run more than one session, you need to run symping twicesymping -m 1000 -r
1
symping -m 1000 -r
1
Run 30 tasks, keep the session open, then run 30 more tasks
symping -m 30 -n 2
Use common data of 150 bytes, input messages of 20 bytes, output messages of 20 bytes
symping -c 150 -i 20 -o 20
Run one session with 10 tasks, 1 millisecond in length, with common data of 150 bytes, and input and output messages of 20 bytes
symping -m 10 -r 1 -c 150 -i 20 -o 20