Configuring the Number of Rows Waiting in the Send Buffer

Adaptive Server assembles data and accumulates rows that wait in the send buffer, but does not send them until the buffer has reached its configured size.

If the packet size is large and if the query is one that takes a long time to execute, these rows may sit for a while before they get sent. When Adaptive Server does send the rows, they arrive at the client simultaneously, and the client then spends time processing them individually.

For large data transfers, the larger the value for the network packet size the more efficient the overall transmission, but there is a time lag during which the client is idle while the Adaptive Server waits for the first buffer to fill. Reducing the size of the network packet size can improve response time, but at the cost of efficiency.

The number of early send rows and early row send increment configuration parameters allow you to configure the number of rows that sit in the send buffer, and can reduce the amount of wait time:

number of early send rows allows Adaptive Server to send results to the client before the packet has reached its configured size. Each subsequent packet increments the number of rows until the packets has reached its configured size (as set by the network packet size parameter). This gives the benefit of the reduced latency for the first few rows without losing overall transmission efficiency. The cycle continues for each new result set, starting with smaller packets, then growing to larger ones.

For example, If you set the value for number of early send rows to 2, Adaptive Server sends the rows in the buffer when it contains 2 rows. The client receives the initial rows more quickly and processes them while Adaptive Server is working on the next set of rows in the query.

If you subsequently set the value for early row send increment to 20,000, Adaptive Server sends the second set of rows in the buffer when it contains 2 + 20,000 rows and adds the value 20,000 to the value for number of early send rows for each subsequent buffer: that is, 2 + 20,000 + 20,000 for the third buffer and so on.

early row send increment

Summary Information
Default value 2147483647
Range of values 1 – 2147483647
Status Dynamic
Display level Comprehensive
Required role System Administrator
Configuration group Network Communication

Configures the additional number of rows sent in the second and subsequent packets of a result set (subject to the maximum packet size).

number of early send rows

Summary Information
Default value 0
Range of values 0 – 2147483647
Status Dynamic
Display level Comprehensive
Required role System Administrator
Configuration group Network Communication

Configures the number of rows Adaptive Server sends to the client in the first packet of a new result set .