2.2.39 Operands related to communication processing

198) 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 the HiRDB server.
  • Use this operand in systems connected via a broadband LAN to reduce the number of communications when connecting to a server.
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 and 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 the 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
199) pd_name_fixed_port_lookup = Y | N
This operand is applicable only to HiRDB/Parallel Server.
Specifies how addresses are to be resolved for communication between units that is handled by the system server. Address resolution refers to the processing that acquires the IP address and port number of a system server.
Y: Resolve addresses in the local units' shared memory.
N: Resolve addresses by communicating with all units (broadcast).
When Y is specified, the operands shown below must be specified and the port number of the system server that communicates with the units must be specified. If the port number is not specified, HiRDB cannot start. For details about how to specify port numbers and for notes about duplication of other port numbers, see the HiRDB Version 9 Installation and Design Guide.
Port typeOperand
HiRDB portpd_name_port operand or -p option of pdunit operand
Transaction server process portpd_trn_port operand or -t option of pdunit operand
Scheduler process portpd_scd_port operand or -s option of pdunit operand
Unit monitoring process port#1pd_alv_port operand or -a option of pdunit operand
Message log server process port#2pd_mlg_port operand or -m option of pdunit operand
#1: In single servers and in units that do not have a system manager, the unit monitoring process does not start, so it is not necessary to specify a port number.
#2: When local is specified in the pd_mlg_msg_log_unit operand, broadcast does not occur, so it is not necessary to specify a port number. Also, when manager is specified in the pd_mlg_msg_log_unit operand, the message log server process does not start in units that do not have a system manager, so it is not necessary to specify a port number.
Advantage
When Y is specified in this operand and the port number of the system manager that communicates with units is specified, broadcast does not occur when an address is resolved. This avoids the following problems when there is a large number of units:
  • Pressure on communication resources (high network workload and use of all available ports)
  • Decline in performance
Notes
  • When N is specified in this operand, broadcasts to all units occur as a means of resolving addresses. Broadcasting occurs in the following cases:
    [Figure]When an address is resolved initially.
    [Figure]When an address is resolved after the system server that previously resolved the address has been taken out of service.
    [Figure]When an address is resolved after a unit of the system server that previously resolved the address has been taken out of service.
  • There is no communication between units in the case of a HiRDB/Single Server or in the case of a HiRDB/Parallel Server consisting of only one unit, so such a server functions as though N were specified, regardless of the actual specification of this operand.
  • It is advisable to use a high-speed connection for the client connection format. If you use a normal connection, a broadcast might occur briefly when the client is connected. For details about client connection formats, see the HiRDB Version 9 UAP Development Guide.
200) pd_scd_port = scheduler-process-port-number
~<unsigned integer>((5001-65535))
Specifies the port number of the scheduler process under the following circumstances:
  • Y is specified in the pd_name_fixed_port_lookup operand
  • A high-speed connection facility is used
    For details about high-speed connection facilities, see the HiRDB Version 9 UAP Development Guide.
  • A firewall or NAT is set up on the HiRDB server
    For details about the HiRDB environment settings in such a case, see the HiRDB Version 9 Installation and Design Guide.
Notes
  • To specify a different port number for each unit, use the -s option of the pdunit operand.
  • 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.
Relationship to other operands
  • Y must be specified in the pd_name_fixed_port_lookup operand.
  • This operand is related to the following operands:
    [Figure]pd_service_port
    [Figure] pdunit -s
201) pd_trn_port = transaction-server-process-port-number
~<unsigned integer>((5001-65535))
When Y is specified in the pd_name_fixed_port_lookup operand, specifies the port number of the transaction server process.
Notes
  • For details about how to specify a transaction server process port number and for notes about duplication of other port numbers, see the HiRDB Version 9 Installation and Design Guide.
Relationship to other operands
  • Y must be specified in the pd_name_fixed_port_lookup operand.
  • This operand is related to the -t option of the pdunit operand.
202) pd_mlg_port = message-log-server-process-port-number
~<unsigned integer>((5001-65535))
When Y is specified in the pd_name_fixed_port_lookup operand, specifies the port number of the message log server process
Notes
  • Port numbers are not used for units on which the message log server process does not start, but a check is performed that the defined port number does not duplicate any other port number. In a HiRDB/Parallel Server consisting of at least two units, the message log server process does not start on units that do not have a system manager when manager is specified for pd_mlg_msg_log_unit.
  • For details about how to specify a message log server process port number and for notes about duplication of other port numbers, see the HiRDB Version 9 Installation and Design Guide.
Relationship to other operands
  • Y must be specified in the pd_name_fixed_port_lookup operand.
  • This operand is related to the -m option of the pdunit operand.
203) pd_alv_port = unit-monitoring-process-port-number
~<unsigned integer>((5001-65535))
This operand is applicable only to HiRDB/Parallel Server.
When Y is specified in the pd_name_fixed_port_lookup operand, specifies the port number of the unit monitoring process.
Notes
  • Port numbers are not used for units on which the unit monitoring process does not start, but a check is performed that the defined port number does not duplicate any other port number. The unit monitoring process does not start on any unit in a HiRDB/Parallel Server consisting of at least two units, except on units that have a system manager.
  • For details about how to specify a unit monitoring process port number and for notes about duplication of other port numbers, see the HiRDB Version 9 Installation and Design Guide.
Relationship to other operands
  • Y must be specified in the pd_name_fixed_port_lookup operand.
  • This operand is related to the -a option of the pdunit operand.
204) pd_change_clt_ipaddr = 0 | 1
Specifies the network to be used by the HiRDB server to communicate with HiRDB clients. Normally, this operand need not be specified.
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.
Relationship to other operands
If v6compatible or v7compatible is specified in the pd_sysdef_default_option operand, the default value for this operand is 0.
205) pd_registered_port ="port-number-reservation-range" [,"port-number-reservation-range"]...
~<character string>
Specifies ranges of port numbers to be used for communication by the HiRDB server when the HiRDB reserved port facility is used.
The HiRDB reserved port facility is enabled for server-to-server 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 example
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.
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
  • If there are multiple units on 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
206) 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.
207) 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.
208) pd_ipc_send_retrycount = process-to-process-send-retries-count
~<unsigned integer>((1-32767))<<200>>
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.
209) pd_ipc_send_retrysleeptime = process-to-process-send-retry-sleep-time
~<unsigned integer>((0-60)) <<0>> (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.
210) pd_ipc_send_count = server-to-server-send-retries-count
~<unsigned integer>((1-32767)) <<60>>
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.
211) pd_ipc_recv_count = server-to-server-receive-retries-count
~<unsigned integer>((1-32767)) <<120>>
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.
212) pd_ipc_conn_nblock = Y | N
Specifies whether to establish connections in the non-block mode for HiRDB server-to-server communication.
Y: Establishes the connection in the non-block mode.
N: Establishes the connection in the block mode.
Advantage
When you specify Y for this operand, you can issue connect() system calls in the non-block mode for HiRDB server-to-server communication . As a result, the duration for which connect() system calls block processes during a LAN error, which used to last dozens of seconds (depending on the OS), can now be shortened to the time specified in the pd_ipc_conn_nblock_time operand.
Relationship to other operands
This operand is related to the following operands:
  • pd_ipc_conn_nblock_time
  • pd_ipc_conn_interval
  • pd_ipc_conn_count
  • pd_host_watch_interval
Specification guidelines
Normally, there is no need to specify this operand.
Remarks
To establish a communications connection between a client and a server, specify the necessary parameter in the PDNBLOCKWAITTIME or pd_ipc_clt_conn_nblock operand in the client environment definition. (PDNBLOCKWAITTIME operand).
213) pd_ipc_conn_nblock_time = connection-establishment-monitoring-time-in-non-block-mode
~<unsigned integer>((1-120))<<8>>(seconds)
Specifies the retry interval and monitoring time for establishing connections in the non-block mode for HiRDB server-to-server communication.
Condition
This operand is valid when Y is specified for the pd_ipc_conn_nblock operand.
Advantage
If unreasonable communication errors occur frequently, increasing the value specified for this operand might reduce the number of communication errors.
Specification guidelines
Normally, there is no need to specify this operand.
If unreasonable communication errors occur frequently, use the ping command of the OS, for example, to measure the communication time between HiRDB servers. If that time is greater than the value specified for this operand, specify a value greater than that communication time for this operand.
Note
  • Increasing the specification value for this operand increases the timeout duration when communication is disabled. Consequently, other processes might be adversely affected.
  • For this operand, do not specify a value that is greater than the OS's wait time for establishing a connection in the block mode. If a larger value is specified, connection times out when the OS's wait time is reached.
Relationship to other operands
This operand is related to the following operands:
  • pd_ipc_conn_nblock
  • pd_ipc_conn_interval
  • pd_ipc_conn_count
Remarks
HiRDB communicates with other units at a given interval (the value of the pd_host_watch_interval operand; the default value is 10 seconds) to monitor the operating status of other units.
If a LAN error occurs immediately after a monitoring-target unit has responded, HiRDB tries to communicate with that unit after a certain wait time (the value of the pd_host_watch_interval operand). Thereafter, communication retry is carried out for the duration specified by the pd_ipc_conn_nblock_time operand (the default value is 8 seconds). Therefore, the time until the abnormal termination of the monitoring-target unit is detected is the time combining the values of the two operands.
The following figure shows the time line until HiRDB detects the abnormal termination of the monitoring-target unit.
[Figure]
214) pd_ipc_clt_conn_nblock = Y | N
Specifies whether to establish connections in the non-block mode for communication with HiRDB clients.
Y: Establishes the connection in non-block mode. Connection establishment processing is monitored at the interval specified in for pd_ipc_clt_conn_nblock_time operand.
N: Establishes the connection in block mode. This is the same operation supported in versions up to 09-02.
Advantages
When you specify Y for this operand, you can issue connect() system calls in non-block mode for communication with the HiRDB client. As a result, the duration for which connect() system calls block processes during a LAN error, which used to last dozens of seconds (depending on the OS), can now be shortened to the time specified in the pd_ipc_clt_conn_nblock_time operand.
Specification guidelines
Normally, this operand does not need to be specified.
Relationship to the client environment definition
The value of this operand might be ignored depending on the value of PDNBLOCKWAITTIME specified in the client environment definition. The following table describes which mode is used to establish a connection depending on the combination of this operand and PDNBLOCKWAITTIME in the client environment definition.
Value of PDNBLOCKWAITTIME in the client environment definitionValue of the pd_ipc_clt_conn_nblock operand
YN
0
  • When the server establishes a connection with the client:
    Non-block mode
    Connection establishment processing is monitored at the interval specified in the pd_ipc_clt_conn_nblock_time operand.
  • When the client establishes a connection with the server:
    Block mode
Block mode
1 or greaterNon-block mode
Connection establishment processing is monitored at the interval specified for PDNBLOCKWAITTIME in the client environment definition.
215) pd_ipc_clt_conn_nblock_time = connection-establishment-monitoring-interval-in-non-block-mode-(communication-with-HiRDB-clients)
~<unsigned integer> ((1-120))<<8>>(seconds)
Specifies the monitoring interval when establishing a connection with a HiRDB client in the non-block mode.
Condition
This operand only takes effect if Y is specified for the pd_ipc_clt_conn_nblock operand.
Specification guidelines
Normally, this operand does not need to be specified.
If too many communication errors occur frequently, use a command such as the OS's ping command to measure the communication time. If that time is greater than the value specified for this operand, specify a value greater than the observed communication time for this operand.
Notes
For this operand, do not specify a value that is greater than the OS's wait time for establishing a connection in the block mode. If a larger value is specified, connection times out when the OS's wait time is reached.
216) pd_ipc_conn_interval = connection-establishment-retry-interval
~<unsigned integer>((0-50))<<1>>(seconds)
Specifies the retry interval when establishing a connection for sending data between HiRDB servers. Connection establishment retries are made in the following cases:
  • A connection timeout has occurred.
  • A shortage has occurred in the Listen queue.
Specification guidelines
  • Normally, there is no need to specify this operand.
  • When specifying this operand, make sure that the following condition is satisfied:
    This operand value < value of pd_ipc_conn_nblock_time
Relationship to other operands
This operand is related to the following operands:
  • pd_ipc_conn_count
  • pd_ipc_conn_nblock
  • pd_ipc_conn_nblock_time
Remarks
The following figure shows examples of retries in non-block mode and block mode communication.
[Figure]
Explanation
With the following specifications, non-block mode connection establishment is retried for 8 seconds at 1-second intervals.
[Figure]pd_ipc_conn_nblock_time = 8
[Figure]pd_ipc_conn_interval = 1
[Figure]
Explanation
With the following specifications, non-block mode connection establishment is retried 5 times at 10-second intervals.
[Figure]pd_ipc_conn_interval = 10
[Figure]pd_ipc_conn_count = 5
217) pd_ipc_conn_count = connection-establishment-retry-count
~<unsigned integer>((0-600))<<50>>
Specifies the number of retries when establishing a connection for sending data between HiRDB servers. Connection establishment retries are made in the following cases:
  • A connection timeout has occurred.
  • A shortage has occurred in the Listen queue.
This operand is related to the pd_ipc_conn_interval operand.
Example
  • pd_ipc_conn_interval = 10
  • pd_ipc_conn_count = 5
With these specifications, connection establishment is retried every 10 seconds up to 5 times.
Specification guidelines
Normally, there is no need to specify this operand.
Note
If connection establishing processing is performed in non-block mode (if Y is specified for the pd_ipc_conn_nblock operand), this operand is ignored.
218) 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 by 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 advantabes 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.
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
The table below lists the send/receive buffer sizes that depend on the combination of the value specified for this operand and the values of the operands related to this operand.
[Figure]Communications in the TCP INET domain

Table 2-3 Communication with clients in the TCP INET domain

No.Value of the pd_inet_unix_bufmode operandValues of related operandsSend/receive buffer size that is set
pd_tcp_inet_bufsizepd_inet_unix_utl_bufmodepd_listen_socket_bufsetpd_ipc_inet_bufsize
1os--------
  • connect, accept, and listen sockets:
    OS setting
2conf000
  • connect, accept, and listen sockets:
    OS setting
3Other than 0
  • connect and listen sockets:
    OS setting
  • accept socket:
    Value of the pd_ipc_inet_bufsize operand
410
  • connect, accept, and listen sockets:
    OS setting
5Other than 0
  • connect socket:
    OS setting
  • accept and listen sockets:
    Value of the pd_ipc_inet_bufsize operand
6Other than 000
  • connect socket:
    Value of the pd_tcp_inet_bufsize operand
  • accept and listen sockets:
    OS setting
7Other than 0
  • connect socket:
    Value of the pd_tcp_inet_bufsize operand
  • accept socket:
    Value of the pd_ipc_inet_bufsize operand
  • listen socket:
    OS setting
810
  • connect socket:
    Value of the pd_tcp_inet_bufsize operand
  • accept and listen sockets:
    OS setting
9Other than 0
  • connect socket:
    Value of the pd_tcp_inet_bufsize operand
  • accept and listen sockets:
    Value of the pd_ipc_inet_bufsize operand
Legend:
--: Ignored if specified.

Table 2-4 Communication with servers in the TCP INET domain (communication without using the pd_utl_buff_size operand)

No.Value of the pd_inet_unix_bufmode operandValues of related operandsSend/receive buffer size that is used
pd_tcp_inet_bufsizepd_inet_unix_utl_bufmodepd_listen_socket_bufsetpd_ipc_inet_bufsize
1os--------
  • connect, accept, and listen sockets:
    OS setting
2conf00
  • connect, accept, and listen sockets:
    OS setting
3Other than 0
  • connect and accept sockets:
    Value of the pd_ipc_inet_bufsize operand
  • listen socket:
    OS setting
410
  • connect, accept, and listen sockets:
    OS setting
5Other than 0
  • connect, accept, and listen sockets:
    Value of the pd_ipc_inet_bufsize operand
Legend:
--: Ignored if specified.

Table 2-5 Communication with servers in the TCP INET domain (communication using the pd_utl_buff_size operand)

No.Value of the pd_inet_unix_bufmode operandValues of related operandsSend/receive buffer size that is used
pd_tcp_inet_bufsizepd_inet_unix_utl_bufmodepd_listen_socket_bufsetpd_ipc_inet_bufsize
1os--------
  • connect, accept, and listen sockets:
    OS setting
2confconf00
  • connect, accept, and listen sockets:
    OS setting
3Other than 0
  • connect and accept sockets:
    Value of the pd_ipc_inet_bufsize operand
  • listen socket:
    OS setting
410
  • connect, accept, and listen sockets:
    OS setting
5Other than 0
  • connect, accept, and listen sockets:
    Value of the pd_ipc_inet_bufsize operand
6auto00
  • connect and accept sockets:
    Value automatically calculated from the pd_utl_buff_size operand value
  • listen socket:
    OS setting
7Other than 0
  • connect and accept sockets:
    Value automatically calculated from the pd_utl_buff_size operand value
  • listen socket:
    OS setting
810
  • connect and accept sockets:
    Value automatically calculated from the pd_utl_buff_size operand value
  • listen socket:
    OS setting
9Other than 0
  • connect and accept sockets:
    Value automatically calculated from the pd_utl_buff_size operand value
  • listen socket:
    Value of the pd_ipc_inet_bufsize operand value
Legend:
--: Ignored if specified.
219) pd_ipc_inet_bufsize = send-receive-buffer-size-for-server-to-server-communication
~<unsigned integer>((0-262144)) <<16384>> (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.
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
220) pd_tcp_inet_bufsize = send-receive-buffer-size-for-communication-with-HiRDB-client
~<unsigned integer>((0-262144))<<0>>(bytes)
Specifies as a multiple of 4,096 bytes the maximum size of the send/receive buffer to be used for communication (TCP INET domain) with HiRDB clients.
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.
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
221) 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 of 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 value of the pd_ipc_inet_bufsize operand 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, the send/receive buffer size set by this operand is used, even if 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.
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
222) pd_utl_buff_size = utility-communication-buffer-size
~<unsigned integer>((8-64))<<32>>(kilobytes)
Specifies in kilobytes the size of each sector of the buffers used for communication by the following utility processes:
  • Database load utility (pdload)
  • Database reorganization utility (pdrorg with -g option specified)
  • Rebalancing utility (pdrbal)
  • Database recovery utility (pdrstr)
  • Database copy utility (pdcopy)
Advantage
When data is re-sent in communications between a server process that is processing a utility and a HiRDB server, the number of communication instances can be reduced by increasing the specification of this operand, which can improve performance.
Specification guidelines
communication-buffer-size =[Figure](page-size#[Figure] 2) [Figure] 1,024[Figure] (kilobytes)
#: Maximum page size of RDAREAs to be processed by the utility.
Operand rules
  • Specify a multiple of 4. If the specified value is not a multiple of 4, it is rounded up automatically to a multiple of 4.
  • If the specified value is smaller than 32, it will be increased automatically to 32 when the database recovery utility or database copy utility is executed.
Relationship to other operands
This operand is related to the operands listed below. For details, see the description of the pd_inet_unix_bufmode operand.
  • pd_inet_unix_bufmode operand
  • pd_tcp_inet_bufsize operand
  • pd_ipc_inet_bufsize operand
  • pd_listen_socket_bufset operand
  • pd_inet_unix_utl_bufmode operand
Effects on individual estimation formulas
If the value of the pd_utl_buff_size operand is changed, the following estimation formulas are affected:
HiRDB Version 9 Installation and Design Guide:
  • Memory size required for the execution of the database recovery utility (pdrstr)
  • Memory size required for the execution of the database load utility (pdload)
  • Memory size required for the execution of the database copy utility (pdcopy)
223) pd_inet_unix_utl_bufmode = auto | conf
Specifies the size of the send/receive buffer to be used for communications that use 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.
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
224) pd_utl_file_buff_size = utility-file-buffer-size
~<unsigned integer>((32-512000))<<32>>(kilobytes)
Specifies the size of the buffer to be used for I/O when a utility accesses a file. Specifying a large value in this operand can reduce the number of file I/Os.
When inputting and outputting data for files of several hundred gigabytes, the number of I/Os and the required I/O time will likely increase, depending on the OS being used and the hardware characteristics. This can be avoided by specifying a buffer size of around 1 megabyte.
The table below lists the utilities (and their files) for which the buffer size specification in this operand is applicable.
UtilityFile
Database copying utilityBackup file
Database recovery utilityBackup file
Database organization utilityUnload data file#1
LOB data unload file
Table transfer unload file
Database creation utilityInput data file#2
Column-unit LOB input file
Table transfer unload file
#1
The buffer size is not applicable for a multi-volume file with the -W option specified.
#2
If the maxreclen operand was specified for an input data file in DAT format, the maxreclen operand specification takes priority. In such a case, increase the value of the maxreclen operand specification.
Effects on individual estimation formulas
If the value of the pd_utl_file_buff_size operand is changed, the following estimation formulas are affected:
HiRDB Version 9 Installation and Design Guide:
  • Memory size required for the execution of the database copy utility (pdcopy)
  • Memory size required for the execution of the database recovery utility (pdrstr)
  • Memory size required for the execution of the database load utility (pdload)
225) pd_sql_send_buff_size = buffer-size-for-inter-server-communication-for-SQL-execution
~<unsigned integer>((4-32))<<4>>(kilobytes)
This operand is applicable only to HiRDB/Parallel Server.
Specify the size of each communication buffer (in kilobytes) to be used for sending search result data between HiRDB servers.
Specification guidelines
communication-buffer-size = [Figure]page-size#[Figure] 1,024[Figure] (in kilobytes)
#: page-size = row-size[Figure] communication-count-per-case
  • For the data size of variable-length data, use the actual size.
  • Because LOB columns and abstract data type columns are excluded, do not include them in the page size.
Notes
  • Increasing the specification value of this operand might increase the amount of memory used.
  • Communication might be conducted using a communication buffer size greater than the specified value in the case of using a feature such as an index, in order to decrease sorting by using a floatable server and for processing to create a work table for that purpose.