Tune TCPBUFSIZE and TCPFLUSHBYTES parameters on oracle Goldengate
The two RMTHOST parameters, TCPBUFSIZE and TCPFLUSHBYTES, are very useful for increasing the buffer sizes and network packets sent by Data Pump over the network from the source to the target system. This is especially beneficial for high latency networks.
It is recommended that you set these parameters to an initial value of 1MB (1,048,576 bytes) or the calculated value, whichever is larger.
To determine a suitable value, perform the following steps:
a. Use the ping command to obtain the average round trip time (RTT).
For example: % ping ggsource.doyensys.com Pinging ggsource.doyensys.com [192.168.1.171] with 32 bytes of data: Reply from 192.168.1.171: bytes=32 time=31ms TTL=56 Reply from 192.168.1.117: bytes=32 time=61ms TTL=56 Reply from 192.168.1.117: bytes=32 time=32ms TTL=56 Reply from 192.168.1.117: bytes=32 time=34ms TTL=56 Ping statistics for 192.168.1.117: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 31ms, Maximum = 61ms, Average = 39ms
b. Calculate the bandwidth-delay product (BDP).
For example, if the network between the source and target databases is 155 megabits per second (Mbits) and the latency is 39ms the calculation would be as follows: BDP = (155,000,000 / 8) * 0.039 = 755,625bytes
c. Multiply the result by 3 to determine 3xBDP.
For example: 3xBDP = 755,625 x 3 = 2,266,875
In this example, because the result is more than 1MB, set the values of TCPBUFSIZE and TCPFLUSHBYTES to 2,266,875.
The parameters are set in the Data Pump parameter file. For example: RMTHOST target, MGRPORT 7809, TCPBUFSIZE 2266875, TCPFLUSHBYTES 2266875
The maximum socket buffer size for non-Windows systems is usually limited by default.