IBM Tivoli Storage Manager, Version 7.1

Optimization of window size for different operations on the same system

The sizes of TCP send and receive windows that work well for one application might not work well for another application, even for another Tivoli® Storage Manager application.

Finding the correct balance for the window sizes between the server and the client is also important. For example, if you reduce the TCPWINDOWSIZE option on the client from 2000 to 63 and set the option on the server to 1024, slower backup performance is likely the result for the following reasons:

For backup operations to the Tivoli Storage Manager server, typically the server takes in data fast enough so that larger TCP receive windows do not cause the window size to become zero. If the server takes in data fast enough, larger window sizes can improve performance, and smaller window sizes can decrease performance.

Restore operations by a backup-archive client have different characteristics than restore operations by a Tivoli Storage Manager for Virtual Environments client. The backup-archive client performs the following actions for a restore operation:
  1. The backup-archive client reads data that is sent by the Tivoli Storage Manager server from the TCP receive buffer.
  2. The backup-archive client writes the data directly to files on disk.

    If this write operation is slow and the Tivoli Storage Manager server sends data faster than the client can write it, the TCP receive buffer becomes full. When the TCP receive buffer becomes full, the receiver advertises a zero window size more frequently and the operation slows.

  3. The client repeats steps 1 and 2 until all data is restored.
Typically, the restore operation by a Tivoli Storage Manager for Virtual Environments client can be slower than a restore operation by a backup-archive client because of the operations that occur for writing the data. The Tivoli Storage Manager for Virtual Environments client performs the following actions for a restore operation:
  1. The Tivoli Storage Manager for Virtual Environments client reads data that is sent by the Tivoli Storage Manager server from the TCP receive buffer.
  2. The Tivoli Storage Manager for Virtual Environments client writes the data to the vStorage API. Then, more operations and resources might be required, including communications with VMware, VMware processing of the data, and allocation of new blocks as the virtual machine disk (VMDK) grows.

    If this write operation is slow and the Tivoli Storage Manager server sends data faster than the client can write it, the TCP receive buffer becomes full. When the TCP receive buffer becomes full, the receiver advertises a zero window size more frequently and the operation slows.

  3. The Tivoli Storage Manager for Virtual Environments client repeats steps 1 and 2 until all data is restored.

In step 2, the Tivoli Storage Manager for Virtual Environments restore operation has more possible operations and might need more resources than a restore operation by a backup-archive client. Therefore, a larger receive window size is more likely to cause the TCP receive window size to become zero for the Tivoli Storage Manager for Virtual Environments restore operation. When both Tivoli Storage Manager for Virtual Environments and the backup-archive client are in use on a system, you must find a window size that balances the needs of the two types of operations. For example, in one case a window size of 1008 gave better overall throughput for such a system.



Feedback