Optimizing the number of multiple sessions to run

IBM Spectrum® Protect clients can establish concurrent sessions to back up and restore data. The creation of concurrent sessions is controlled by an algorithm within the client software; you cannot directly control this algorithm. The default behavior is to use two sessions: one to query the server and one to send file data. You can set the resourceutilization option to cause the client to use additional concurrent sessions to query and send data.

Multiple sessions are used when you specify multiple file specifications on a backup command, restore command, archive command, or a retrieve command. For example, if you enter the following command and you specify resourceutilization 5, the client might start a second session to query the server for a list of files that were backed up on file space B:
inc /Volumes/filespaceA /Volumes/filespaceB
Whether the second session starts depends on how long it takes to query the server about files that are backed up on file space A. The client might also try to read data from the file system and send it to the server on multiple sessions.

The value that you specify for the resourceutilization option is an integer in the range 1 - 100. The value that you specify does not correlate directly to the number of sessions the client can create. For example, setting resourceutilization 5 does not mean that the client can run only five concurrent sessions. What it does indicate is that this client might create more concurrent sessions than a client that has resourceutilization set to 1, but fewer concurrent sessions than a client that has resourceutilization set to 10. The resourceutilization option setting increases or decreases the ability of each client to create multiple sessions.

The following factors affect the performance of concurrent sessions:
Available server resources and processing capacity
The hardware that the IBM Spectrum Protect server runs on must have sufficient memory, storage, and processor capacity to efficiently support multiple sessions.
Available client resources and processing capacity
The hardware that the IBM Spectrum Protect client runs on must also have sufficient memory, storage, and processor capacity to efficiently support multiple sessions.
Configuration of the client storage subsystem
File systems that are spread across multiple disks, either by software striping, RAID-0, or RAID-5, can accommodate the increases in random read requests that concurrent sessions generate with better efficiency than a single-drive file system can. In fact, a single-drive file system might not show any performance improvement if you set the resourceutilization option.
For file systems spread across multiple physical disks, setting the resourceutilization to 5 or higher can produce optimal performance in configurations where the server has sufficient processing capacity and memory to handle the load.
Network bandwidth
Concurrent sessions increase the amount of data that flows over the network. In particular, LANs might be adversely affected by the increased data traffic.

If you set the resourceutilization option and you are backing up client files directly to a sequential device, update the server MAXNUMMP setting to accommodate the additional mount points that concurrent sessions might need.

Before you change any settings, consider the potential disadvantages of concurrent sessions:
  • Concurrent sessions might produce multiple accounting reports.
  • The server might not be configured to support all of the potential concurrent sessions. Review the server MAXSESSIONS setting and change it if the client-initiated sessions can exceed its current value.
  • A QUERY NODE command might not accurately summarize client activity.

During restore operations, the default client behavior is to use a single session, unless the resourceutilization option was specified to a value greater than 2. When you are restoring files for a critical client system from tape, and the files are on many tape volumes, set the RESOURCEULTIILZATION value to 10. If four tape drives are available, and you want to restore operations to use all four tape volumes concurrently, set the MAXNUMMP value for the node to 4. If all of the client files that are being restored are in random-access disk storage pools, only one restore session is used, regardless of the resourceutilization option value.

The default value for the resourceutilization option is 2, and the maximum value is 100.

For example, if the data to be restored is on five different tape volumes, and the maximum number of mount points for the node that is requesting the restore is 5, and resourceutilization option is set to 3, three sessions are used for the restore. If the resourceutilization setting is increased to 5, five sessions are used for the restore. A one-to-one relationship exists between the number of restore sessions that are allowed and the resourceutilization setting.

The following values are the preferred settings:
For workstations
resourceutilization 1
For a small server
resourceutilization 5
For a large server
resourceutilization 10

The following table shows the maximum number of concurrent sessions that are possible, for each of the values in the resourceutilization range. A producer thread is a session that scans the client system for eligible files. The remaining sessions are consumer threads and are used to transfer data. Subtract the producer sessions that are listed in the table from the maximum number of sessions to determine the number of consumer threads. In the table, the threshold column shows how soon a subsequent thread can be started after the previous thread is started, for each of the values that are specified for the resourceutilization option.

resourceutilization value Maximum number of sessions Unique number of producer sessions Threshold (seconds)
1 1 0 45
2 (default) 2 1 45
3 3 1 45
4 3 1 30
5 4 2 30
6 4 2 20
7 5 2 20
8 6 2 20
9 7 3 20
10 8 4 10
n > 10 n n/2, rounded down to the nearest whole number 10