3.2.22 Operands related to communication processing

72) pd_service_port = scheduler-process-port-number
~<unsigned integer>((5001-65535))
Specifies the port number for the scheduler process under the following circumstances:
  • A high-speed connection facility is used
For details about high-speed connection facilities, see the HiRDB Version 9 Installation and Design Guide.
  • A firewall or NAT is installed on the HiRDB server
    For details about setting the HiRDB environment when a firewall or NAT is installed on the HiRDB server, see the HiRDB Version 9 Installation and Design Guide.
Specification guidelines
  • Use this operand for a HiRDB/Single Server or when there is a firewall between the HiRDB client and HiRDB server.
  • Use this operand in systems connected via a broadband LAN to reduce the number of communications when connecting to a server.
Operand default
When this operand is omitted, the specification of the same operand in the system common definition is assumed.
Notes
  • If there are multiple units in a single server machine, such as in a mutual system switchover configuration, always specify this operand in the unit control information definition. Specify a different port number for each unit. If a port number is duplicated, system switchover will fail in one of the units during a switching attempt.
  • When this operand is specified in both the unit control information definition and the system common definition, the specification in the unit control information definition is effective.
  • If the HiRDB port number (the port number specified with the pd_name_port operand or the -p option of the pdunit operand) is specified, the specification of this operand will be ignored, which will prevent operation using the high-speed connection facility or when a firewall or NAT is set up at the HiRDB server. The KFPS00860-W message will be issued when this happens.
  • If the high-speed connection facility is used to issue concurrently more connection requests than the value set in the pd_max_users operand, a shortage will occur in the number of active front-end servers and single servers for extracting connection requests from the message queue. Consequently, some connection requests will not be extracted from the message queue, and the message queue monitoring facility could stop the unit. You must ensure that the number of concurrent connection requests generated does not exceed the value specified in the pd_max_users operand. For details about the message queue monitoring facility, see the HiRDB Version 9 System Operation Guide.
  • For details about how to specify a scheduler process port number and for notes about duplication of other port numbers, see the HiRDB Version 9 Installation and Design Guide.
  • In the case of a parallel server that has multiple front-end servers, the front-end servers to be connected are fixed and load sharing will no longer be possible. For this reason, consider carefully the balance among the front-end servers to be connected.
Relationship to other operands
This operand is related to the following operands:
  • pd_scd_port
  • pdunit -s
73) pd_change_clt_ipaddr = 0 | 1
Specifies the network to be used by the HiRDB server to communicate with HiRDB clients. Normally, you need not specify this operand.
0:
Communication from the HiRDB server to HiRDB clients uses the network in which the IP address specified in the PDCLTRCVADDR operand of the client environment definition is located. If the PDCLTRCVADDR operand is omitted, the IP address of the standard host is assumed.
1:
For communication from the HiRDB server to HiRDB clients, the network used for communication from HiRDB clients to the HiRDB server is used.
Operand default
When this operand is omitted, the specification of the same operand in the system common definition is assumed. When the same operand is also omitted in the system common definition, the default is 1 (If v6compatible or v7compatible is specified for the pd_sysdef_default_option operand, 0 is assumed).
74) pd_registered_port ="port-number-reservation-range" [,"port-number-reservation-range"]...
~<character string>
When the HiRDB reserved port facility is used, this operand specifies ranges of port numbers to be used for communication by HiRDB.
The HiRDB reserved port facility is enabled for server-to-server communication and server-to-client communications. For details, see the description of the pd_registered_port_level operand. This facility does not need to be used if the number of ports to be used is small.
Operand specification method
This example provides the following 35,000 port numbers: 6000 to 8999, 12500 to 29999, and 30500 to 44999:
set pd_registered_port = "6000:8999","12500:29999","30500:44999"
Advantages
The port numbers to be used for communication between HiRDB servers are assigned automatically by the OS. If the communication volume increases significantly, a shortage of port numbers might cause an interruption of processing or might adversely affect the communication processing by other programs. Use this operand to specify a range of port numbers to be used exclusively by HiRDB to prevent such problems.
Specification guidelines
  • The range of port numbers that can be specified is from 5001 through 49151.
  • For the number of ports used by HiRDB, see the HiRDB Version 9 Installation and Design Guide.
  • Do not register the port number specified in this operand in %windir%\system32\drivers\etc\services (definition location in a DNS environment). A duplication check is performed for %windir%\system32\drivers\etc\services when Y, C, or W is specified in the pd_registered_port_check operand.
Operand default
When this operand is omitted, the specification of the same operand in the system common definition is assumed.
Specification value tuning method
As a guideline, the value obtained from the following formula is the total number of ports that will be needed:
a + b + 100
a: Number of HiRDB reserved ports that are being used (# OF REGISTERED PORTS)
b: Number of ports being used that were assigned automatically by the OS because all HiRDB reserved ports were in use (# OF ASSIGNED PORTS)
These values can be determined from the statistical information related to system operation obtained by executing the statistics analysis utility.
Operand rules
  • Up to 10 ranges of port numbers can be specified.
  • If more than one range is specified, ensure that there is no overlap in the port numbers included in the various ranges.
  • An ending port number must be greater than the paired starting port number.
Notes
  • When there are multiple units in a single server machine, such as in a mutual system switchover configuration, this operand must be specified in the unit control information definition. Be sure to specify a different port number for each unit. If a port number is duplicated, system switchover will fail in one of the units during a switching attempt.
  • Specification of a port number that is not supported by the HiRDB reserved port facility is ignored. For the scope of the HiRDB reserved port facility, see the pd_registered_port_level operand.
  • For details about how to specify port numbers when the HiRDB reserved port facility is used and for notes about duplication of other port numbers, see the HiRDB Version 9 Installation and Design Guide.
  • When this operand is specified in both the unit control information definition and the system common definition, the specification in the unit control information definition is effective.
Effects on individual estimation formulas
If the value of the pd_registered_port operand is changed, the following estimation formulas are affected:
HiRDB Version 9 Installation and Design Guide:
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB/Single Server
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB/Parallel Server
75) pd_registered_port_check = Y | N | C | W
Specifies whether checking is to be performed for overlapping port numbers in the ranges of port numbers specified in the pd_registered_port operand and in the port numbers registered in %windir%\system32\drivers\etc\services (definition location in a DNS environment).
Y:
Check for overlap. If an overlap is found, the KFPS00348-E message is output and HiRDB activation is canceled.
N:
Do not check for overlap.
C:
Check for overlap. The HiRDB reserved port facility is not applied to any overlapping port number.
W:
Check for overlap. If an overlap is found, the KFPS00354-W message is output. The HiRDB reserved port facility is not applied to any overlapping port number.
Condition
The pd_registered_port operand must be specified.
Specification guidelines
  • If an overlap in port numbers is detected, HiRDB communication might be adversely affected, resulting, for example, in the receipt of wrong messages or message send failures.
  • If Y, C, or W is specified, process server process activation in a DNS environment might slow down.
Operand default
When this operand is omitted, the specification of the same operand in the system common definition is assumed. When the same operand is also omitted in the system common definition, the default is Y.
76) pd_registered_port_level = 0 | 1
Specifies the target range for the HiRDB reserved port facility.
Condition
The pd_registered_port operand must be specified.
Specification guidelines
The following shows the target range depending on the value of this operand (0 or 1):
Port numbers used by HiRDBValue of pd_registered_port_level
01
Ports used by HiRDB serverSend port number for server-to-server communicationYY
Receive port number for server-to-server communicationYY
Port number specified in pd_name_port operandNN
Port number specified in -p option of pdunit operandNN
Port number specified in pd_service_port operandNN
Port number specified in pd_scd_port operandNN
Port number specified in -s option of pdunit operandNN
Port number specified in pd_trn_port operandNN
Port number specified in -t option of pdunit operandNN
Port number specified in pd_mlg_port operandNN
Port number specified in -m option of pdunit operandNN
Port number specified in pd_alv_port operandNN
Port number specified in -a option of pdunit operandNN
Send port number for commandNN
Receive port number for commandNN
Send port number for clientNY
Receive port number for clientYY
Service port number for communication portNN
Port number used for lock controlNN
Ports used by HiRDB clientSend port numberNN
Receive port numberNN
Legend:
Y: Subject to the HiRDB reserved port facility. A port number specified in the pd_registered_port operand is used.
N: Not subject to the HiRDB reserved port facility.
Operand default
When this operand is omitted, the specification of the same operand in the system common definition is assumed. When the same operand is also omitted in the system common definition, the default is 0.
77) pd_ipc_send_retrycount = process-to-process-send-retries-count
~<unsigned integer>((1-32767))
Specifies the number of times process-to-process communication can be attempted. This operand is related to the pd_ipc_send_retrysleeptime operand.
Examples
  • pd_ipc_send_retrycount = 500
  • pd_ipc_send_retrysleeptime = 2
When the operands are specified in this way, send is attempted up to 500 times and a 2-second sleep occurs between attempts.
Specification guidelines
  • Normally, this operand need not be specified.
  • Specifying too large a value for this operand increases the CPU lock rate.
Operand default
When this operand is omitted, the specification of the same operand in the system common definition is assumed. When the same operand is also omitted in the system common definition, the default is 200.
78) pd_ipc_send_retrysleeptime = process-to-process-send-retry-sleep-time
~<unsigned integer>((0-60)) (seconds)
Specifies the sleep time between process-to-process send retries.
This operand is related to the pd_ipc_send_retrycount operand.
Examples
  • pd_ipc_send_retrycount = 500
  • pd_ipc_send_retrysleeptime = 2
When the operands are specified in this way, send is attempted up to 500 times and a 2-second sleep occurs between attempts.
Specification guidelines
  • Normally, this operand need not be specified.
  • Specifying too large a value for this operand increases communication completion time.
Operand default
When this operand is omitted, the specification of the same operand in the system common definition is assumed. When the same operand is also omitted in the system common definition, the default is 0.
79) pd_ipc_send_count = server-to-server-send-retries-count
~<unsigned integer>((1-32767))
Specifies the number of times a server-to-server send can be performed before the send is completed. A send occurs for up to 5 seconds at each retry. With the default value, send will be performed for up to 60 [Figure] 5 seconds = 300 seconds.
Specification guideline
Normally, this operand need not be specified. If transmission timeouts occur frequently, increase this operand's value.
Operand default
When this operand is omitted, the specification of the same operand in the system common definition is assumed. When the same operand is also omitted in the system common definition, the default is 60.
80) pd_ipc_recv_count = server-to-server-receive-retries-count
~<unsigned integer>((1-32767))
Specifies the number of times a server-to-server receive can be performed before receive is completed. Receive occurs for up to 5 seconds at each retry. With the default value, receive is performed for up to 120 [Figure] 5 seconds = 10 minutes.
Specification guideline
Normally, this operand need not be specified.
Operand default
When this operand is omitted, the specification of the same operand in the system common definition is assumed. When the same operand is also omitted in the system common definition, the default is 120.
81) pd_inet_unix_bufmode = os | conf
Specifies the size of the send/receive buffer to be used for communication with HiRDB.
os: Use the value set by the OS.
If a send/receive buffer size is specified in any of the following operands, that value is ignored and the value set by the OS is used:
  • pd_tcp_inet_bufsize operand
  • pd_ipc_inet_bufsize operand
conf: Use the value specified for the following operands:
  • pd_tcp_inet_bufsize operand
  • pd_ipc_inet_bufsize operand
Specification guidelines
  • Normally, specify os in this operand to use the value set by the OS.
  • There are advantages and disadvantages of specifying conf as described below. If you specify conf, perform a thorough evaluation, including a verification of the machine's performance capabilities.
    [Figure]If the send/receive buffer size is small and large data, such as BLOB data, is sent and received, data resend operations occur. This might adversely affect the communication performance and CPU usage rate. In this case, you can improve the communication performance and reduce the CPU usage rate by increasing the send/receive buffer size.
    [Figure]If the send/receive buffer size is large and small data, such as numeric data, is sent and received, ACK might not be returned quickly (delayed ACK) when data is received depending on how TCP/IP is configured. This might result in poor performance.
Notes
The send/receive buffer size, OS settings, how to change the size, and the supported size range depend on the OS. For details, see the OS documentation.
Operand default value
If this operand is omitted, the value specified for the same operand in the system common definition takes effect. If the same operand is also omitted from the system common definition, conf is assumed.
Relationship to other operands
This operand is related to the following operands:
  • pd_tcp_inet_bufsize operand
  • pd_ipc_inet_bufsize operand
  • pd_listen_socket_bufset operand
  • pd_inet_unix_utl_bufmode operand
  • pd_utl_buff_size operand
For details about the send/receive buffer size that depends on the combination of the value specified for this operand and the values of the operands related to this operand, see Relationship to other operands under the pd_inet_unix_bufmode operand in the system common definition.
82) pd_ipc_inet_bufsize = send-receive-buffer-size-for-server-to-server-communication
~<unsigned integer>((0-262144)) (bytes)
Specifies, as a multiple of 4,096 bytes, the maximum size of the send/receive buffer to be used for server-to-server communication (TCP INET domain).
Specification guidelines
  • Normally, there is no need to specify this operand. Specify os in the pd_inet_unix_bufmode operand and use the value set by the OS.
  • If you specify conf in for the pd_inet_unix_bufmode operand, use this operand to specify the send/receive buffer size used for HiRDB communication processing.
Notes
  • If 0 is specified, the value set by the OS is used.
  • The maximum TCP buffer size depends on the OS.
Operand default
When this operand is omitted, the specification of the same operand in the system common definition is assumed. When the same operand is also omitted in the system common definition, the default is 16384.
Relationship to other operands
This operand is related to the following operands:
  • pd_inet_unix_bufmode operand
  • pd_tcp_inet_bufsize operand
  • pd_listen_socket_bufset operand
  • pd_inet_unix_utl_bufmode operand
  • pd_utl_buff_size operand
83) pd_tcp_inet_bufsize = send-receive-buffer-size-for-communication-with-HiRDB-client
~<unsigned integer>((0-262144)) (bytes)
Specifies, as a multiple of 4,096 bytes, the maximum size for the send/receive buffer to be used for communication (TCP INET domain) with the HiRDB client.
Specification guidelines
  • Normally, this operand does not need to be specified. Specify os in the pd_inet_unix_bufmode operand and use the value set by the OS.
  • If you specify conf in for the pd_inet_unix_bufmode operand, use this operand to specify the send/receive buffer size used for HiRDB communication processing.
Operand default
When this operand is omitted, the specification of the same operand in the system common definition is assumed. When the same operand is also omitted in the system common definition, the default is 0.
Notes
  • If 0 is specified, the value set by the OS is used.
  • The maximum TCP buffer size depends on the OS.
Relationship to other operands
This operand is related to the following operands:
  • pd_inet_unix_bufmode operand
  • pd_ipc_inet_bufsize operand
  • pd_listen_socket_bufset operand
  • pd_inet_unix_utl_bufmode operand
  • pd_utl_buff_size operand
84) pd_listen_socket_bufset = 0 | 1
Specifies whether the send/receive buffer is to be set in a listen socket when the listen socket for a TCP INET domain that is used for HiRDB communication processing is created.
0: Do not set the send/receive buffer size in the listen socket.
1: Set the send/receive buffer size in the listen socket.
For the send/receive buffer size, the value specified for the pd_ipc_inet_bufsize operand is set. However, the following conditions must be satisfied:
  • conf is specified for the pd_inet_unix_bufmode operand.
  • A non-zero value is specified for the pd_ipc_inet_bufsize operand.
For details, see the description of the pd_inet_unix_bufmode operand.
Specification guidelines
  • Normally, this operand does not need to be specified. Specify os in the pd_inet_unix_bufmode operand and use the value set by the OS.
  • When conf is specified for the pd_inet_unix_bufmode operand, and the send/receive buffer size specified for this operand is used, if the pd_ipc_inet_bufsize operand value is smaller than the value set by the OS, a communication delay might occur. In this case, you might be able to improve the communication performance by specifying 1 for this operand.
Notes
If you have specified 1 for this operand, use the send/receive buffer size set by this operand even when you specify conf for the pd_utl_inet_unix_bufmode operand and perform communication using the pd_utl_buff_size operand. Set the send/receive buffer size in such a manner that the same size is used for the listen and accept sockets. If different send/receive buffer sizes are used for the listen and accept sockets, the communication performance might not be improved.
Operand default value
If this operand is omitted, the value specified for the same operand in the system common definition takes effect. If the same operand is also omitted from the system common definition, 0 is assumed.
Relationship to other operands
This operand is related to the following operands:
  • pd_inet_unix_bufmode operand
  • pd_tcp_inet_bufsize operand
  • pd_ipc_inet_bufsize operand
  • pd_inet_unix_utl_bufmode operand
  • pd_utl_buff_size operand
85) pd_inet_unix_utl_bufmode = auto | conf
Specifies the size of the send/receive buffer to be used for communication that uses the pd_utl_buff_size operand.
auto:
Automatically calculate the value based on the pd_utl_buff_size operand.
conf:
Use the value specified for the pd_ipc_inet_bufsize operand.
Specification guidelines
  • Normally, this operand does not need to be specified. Specify os in the pd_inet_unix_bufmode operand and use the value set by the OS.
  • If you specify conf for the pd_inet_unix_bufmode operand and 1 for the pd_listen_socket_bufset operand, specify conf for this operand.
Operand default value
If this operand is omitted, the value specified for the same operand in the system common definition takes effect. If the same operand is also omitted from the system common definition, auto is assumed.
Relationship to other operands
This operand is related to the following operands:
  • pd_inet_unix_bufmode operand
  • pd_tcp_inet_bufsize operand
  • pd_ipc_inet_bufsize operand
  • pd_listen_socket_bufset operand
  • pd_utl_buff_size operand