2.2.40 Operands related to communication processing

185) 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 configuration 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
186) pd_name_fixed_port_lookup = Y | N
This operand is applicable only to a HiRDB parallel server configuration.
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 configuration or in the case of a HiRDB parallel server configuration 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.
187) 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
188) 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.
189) 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 configuration 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.
190) pd_alv_port = unit-monitoring-process-port-number
~<unsigned integer>((5001-65535))
This operand is applicable only to a HiRDB parallel server configuration.
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 configuration 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.
191) 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.
192) 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 a HiRDB server and HiRDB clients or 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 /etc/services (or the location of these definitions in the NIS or DNS environments). A duplication check is performed for /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 configuration
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB parallel server configuration
193) 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
/etc/services (definition location in an NIS or 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 an NIS or DNS environment might slow down.
194) 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.
195) 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.
196) 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.
197) 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.
198) pd_ipc_conn_nblock = Y | N
Specifies whether to establish connections in the non-block mode for HiRDB server-to-server communication (communication between units).
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 (communication between units). 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).
199) 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 (communication between units).
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]
200) 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.
201) 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.
202) 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
203) 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.