5.2.2 ソケットの送信・受信バッファサイズの見積もり

XNF/AS/ACONARCからXNF/AS/Host Adaptorへの移行によって,VOS3システムとの接続形態がチャネル接続からLAN接続に変更となります。LAN接続では,VOS3システムとサーバ間に滞留するデータ量が,チャネル接続と比較して多くなるおそれがあります。

LAN接続で滞留するデータ量をチャネル接続と同等にする場合のソケットの送信・受信バッファサイズの見積もり方法を示します。

滞留データ量について
チャネル接続時は,ユーザデータ長に関係なくトランスポート層のクレジット値分(最大15個)のユーザデータがホストとサーバ間に滞留します。
LAN接続時は,サーバのソケットバッファサイズやホストの受信ウィンドウサイズ分のユーザデータが滞留します。サーバのソケットバッファのデフォルト値は32768バイトなので,ユーザデータ長が短い場合,滞留するユーザデータ数がチャネル接続時よりも多くなってしまいます。
サーバ受信(ホスト送信)の場合
LAN接続でホストからサーバにデータ送信する場合,ソケットの受信バッファサイズが滞留データ量となります。チャネル接続でサーバ受信のときの滞留データ量を次の計算式で算出します。

チャネル接続時の滞留データ量=↑(クレジット値1÷(↑(ユーザデータ長+402)÷最大TPDU長↑))↑×(ユーザデータ長+402)

注※1
TL02文のCHANNEL_receive_CDT_valueオペランドで指定するサーバ側トランスポート層の受信クレジット値です。
注※2
ユーザデータ長にプロトコルのヘッダ情報として約40バイトを加算して計算してください。
次のように指定することで,LAN接続でサーバ受信のときの滞留データ量がチャネル接続時と同等になります。

TPTCP_common文receive_buffer_sizeオペランド指定値=チャネル接続時の滞留データ量

サーバ送信(ホスト受信)の場合
LAN接続でサーバからホストにデータ送信する場合,ソケットの送信バッファサイズとVOS3 XNF/TCPの受信ウィンドウサイズの合計が滞留データ量となります。チャネル接続でサーバ送信のときの滞留データ量を次の計算式で算出します。

チャネル接続時の滞留データ量=↑(クレジット値1÷(↑(ユーザデータ長+402)÷最大TPDU長↑))↑×(ユーザデータ長+402)

注※1
VOS3 XNF/AMで設定するホスト側トランスポート層の受信クレジット値です。
注※2
ユーザデータ長にプロトコルのヘッダ情報として約40バイトを加算して計算してください。
次の式が成立する値を指定することで,LAN接続のサーバ送信時の滞留データ量がチャネル接続時と同等になります。

チャネル接続時の滞留データ量=接続相手ホストのTCP受信ウィンドウサイズ+TPTCP_common文send_buffer_sizeオペランド指定値

ユーザデータ長が異なる場合
一つのサーバで複数のユーザデータ長が存在する場合は,いちばん小さいチャネル接続時の滞留データ長を適用してください。
転送性能低下時の場合
システム環境によって,ソケットの送信・受信バッファサイズを小さくすることで,転送性能が低下するおそれがあります。システム環境の性能評価を実施して,転送性能を検証してください。
チャネル接続時に比べ転送性能が低下する場合は,算出値をベースに転送性能を確保できる値に送信・受信バッファサイズをチューニングしてください。