TBUFSIZE= System Option

Specifies the size of the buffer that is used by the SAS application layer for transferring data between a client and a server across a network.
Client: optional
Server: optional
Valid in: Configuration file, OPTIONS statement, SAS System Options window, SAS invocation
Category: Communications: Networking and Encryption
PROC OPTIONS GROUP= Communications
Default: Varies by operating environment. Value is determined by the TCP stack on the host operating system.

Syntax

TBUFSIZE=buffer-size-in-bytes

Syntax Description

buffer-size-in-bytes
specifies the size of the buffer that SAS/CONNECT uses for transferring data.
Note:buffer-size-in-bytes must be specified as a multiple of 1024 bytes. You can also specify the value in kilobytes using the format nK.

Details

The TBUFSIZE= option defines the buffer for the SAS application layer. The TCPMSGLEN= option defines another buffer for the SAS communications layer. For more information about TCPMSGLEN=, which is used only by the TCP/IP communications access method, see the topic that is appropriate to your operating environment in Communications Access Methods for SAS/CONNECT and SAS/SHARE.
Summary of Attributes for the TBUFSIZE= and TCPMSGLEN= Options
System Option
Controlling SAS Layer
Purpose of Buffer
TBUFSIZE=
SAS Application
SAS/CONNECT uses the buffer to transfer data to the communications layer.
TCPMSGLEN=
SAS Communications
The TCP/IP access method uses the buffer to transfer data to a client or a server.
The SAS application layer does the following:
  1. packs and compresses data records into a buffer until all the data has been processed or the buffer is full.
  2. sends a buffer to the communications layer. Unless it is explicitly set using the TBUFSIZE= or TCPMSGLEN= options, the default buffer size is determined by the TCP stack on the host operating system. SAS/CONNECT uses the default TCP stack settings and auto tuning (if implemented on the stack) to ensure optimal network performance.
Using the TBUFSIZE= option to maximize buffer size for the SAS application layer reduces the number of calls that the application layer makes to the communications layer for a data transfer. A reduction of calls to the communications layer saves resources and improves operating environment and network performance. Other factors, such as the amount of data and the network bandwidth, must be considered to optimize buffer performance.
The SAS communications layer does the following:
  1. receives a buffer from the SAS application layer.
  2. sends a buffer to the client or to the server. Unless it is explicitly set using the TBUFSIZE= or TCPMSGLEN= options, the default buffer size is determined by the TCP stack on the host operating system. SAS/CONNECT uses the default TCP stack settings and auto tuning (if implemented on the stack) to ensure optimal network performance.
As with the TBUFSIZE= option, an optimal value assigned to TCPMSGLEN= can save resources and improve network performance. TCPMSGLEN= can be set to transfer the entire buffer it receives or to divide the data into multiple transfers.
To change the size of the TCP buffer, the TCPMSGLEN= option is specified at both the client and the server. If the client and the server do not use identical values for TCPMSGLEN=, the smaller buffer size is used.
In addition to being a system option, TBUFSIZE= can be set as an option in the SIGNON statement. The option in the SIGNON statement or command takes precedence over the system option.
CAUTION:
Do not specify the TBUFSIZE= option in the server session. Specify the TBUFSIZE= Option in the Client Session Only
If you specify the TBUFSIZE= option in a remote SAS invocation that runs an AUTOEXEC file, the allocated buffers might be insufficient to complete the processing of the AUTOEXEC file. Although the client can successfully sign on to the server session, the error message that would alert you to insufficient buffers might not be written to the server log immediately. Instead, the error message would be logged following the client's next request for server processing.
Specify the TBUFSIZE= option in the SIGNON statement in the client session when signing on the server session.

Example

In the following OPTIONS statement, the TBUFSIZE= option is used to set the buffer size to 64K:
options tbufsize=65536;
signon;
Alternatively, you can specify tbufsize=64k.