2.2.2 Operands related to maximum concurrent executions

5) pd_max_users = maximum-number-of-concurrent-connections
~<unsigned integer>
  • For a HiRDB single server configuration: ((1-3000))<<10>>
  • For a HiRDB parallel server configuration: ((1-2000))<<10>>
This operand specifies the maximum number of concurrent connections allowed for the HiRDB server. For a HiRDB parallel server configuration, this operand specifies the maximum number of concurrent connections allowed for a single front-end server. If the number of connection requests exceeds the value specified by this operand, HiRDB rejects any additional connection requests (connection requests result in errors). Note that connection in this case means an attempt to connect to a HiRDB server based on a CONNECT statement.
Specification guidelines
  • When OpenTP1 is used, the connection count is the number of OpenTP1 server processes to be connected to the HiRDB server (including XA connections).
  • When DBPARTNER/Server is used, the connection count is the number of DBPARTNER/Server connection clients.
  • When HiRDB SQL Executer is used, the connection count is the number of HiRDB SQL Executer connection clients.
  • If the multi-connection facility is used, the connection count is the total number of concurrent connections by individual UAPs.
  • Some of the HiRDB commands and utilities are internally connected to the HiRDB server. Therefore, while these commands and utilities are being executed, the number of users that can be connected temporarily decreases. Determine the operand value by taking this fact into consideration. For details about the number of command and utility connections, see Number of Concurrent Command Connections in the manual HiRDB Version 9 Command Reference.
Notes
  • If you increase the value of the pd_max_users operand, you must also increase the value of the pd_max_server_process operand. Along with these increases, both the size of the shared memory and the number of ports used by the HiRDB system also increase. For notes related to an increase in the value of the pd_max_users operand (when the number of users is increased), see the HiRDB Version 9 System Operation Guide. If you omit the pd_max_server_process operand, HiRDB automatically computes a value for this operand.
  • For a multiple front-end server, the maximum number of connection requests that can be processed is obtained by multiplying the value of the pd_max_users operand by the number of front-end servers. However, make sure that the value obtained does not exceed the specifiable upper limit for the pd_max_users operand (2000).
  • Depending on the value of the pd_max_reflect_process_count operand and the total number of reflection processing processes, the maximum number of connections might fall short of the value of the pd_max_users operand. For details, see the explanation of the pd_max_reflect_process_count operand.
  • Connection requests to the HiRDB server in excess of this operand's value will result in an error, and processes might be left over. Use the pdls -d prc command to check for leftover processes; if any are found, terminate them forcibly with the pdcancel command.
Relationship to other operands
This operand is related to the following operands:
  • pd_lck_hash_entry
  • pd_lck_pool_size
  • pd_max_bes_process
  • pd_max_dic_process
  • pd_max_reflect_process_count
  • pd_max_server_process
  • pd_process_count
  • pd_process_terminator_max
  • pdcltgrp
Effects on individual estimation formulas
If the value of the pd_max_users operand is changed, the following estimation formulas are affected:
HiRDB Version 9 Installation and Design Guide:
  • Considerations when migrating to 64-bit mode
  • Calculation of required memory 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 single server configuration
  • Processes started by a HiRDB parallel server configuration
  • Calculation of required memory under Estimating the memory size required for a HiRDB parallel server configuration
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB parallel server configuration
  • Estimating HP-UX OS parameter values
  • Estimating Linux kernel parameter values
  • Determining the value of S under Determining the size of status files
  • Estimating Solaris OS parameter values
  • Size of a work table file used by an SQL statement
  • Determining the maximum number of files (pdfmkfs -l command)
  • Maximum and minimum values for the system configuration
  • Determining the number of records in a synchronization point dump file
  • Formula 1, Formula 2, Formula 3, and Formula 4 under Formulas for shared memory used by a single server
  • Formula 1 and Formula 2 under Formulas for the size of the shared memory used by a dictionary server
  • Formula 1, Formula 2, Formula 3, and Formula 4 under Formulas for the size of the shared memory used by a back-end server
  • Formula for the shared memory used by a front-end server
  • Estimating the sizes of message queues and semaphores
  • Estimating the number of ports that a unit will use
  • HiRDB single server configuration under Determining Environment Variables Related to the Number of Resources
  • HiRDB parallel server configuration under Determining Environment Variables Related to the Number of Resources
6) pd_max_server_process = maximum-number-of-concurrently-activated-server-processes
~<unsigned integer>((50-10000))
Specifies the maximum number of processes that can be activated at the same time within a single unit. The number of server processes includes the number of processes for the system server, individual servers, utilities, and the like (the system server is a server that is used internally by HiRDB).
Specification guidelines
  • Normally, omit this operand. When it is omitted, the value obtained from the following formula is assumed. HiRDB automatically re-computes the value of this operand if you change any of the operands mentioned in the explanation of a variable.
    Default value = a + b [Figure](c + 30) + 70 + i + j + k + m + n + o
  • If you choose to specify this operand, use the following formula as a reference for determining the operand value. For a HiRDB parallel server configuration, determine values for all units, and use the largest of these values as a guideline.
Recommended value = a + b [Figure](c + d [Figure]e + f + 3) + d [Figure]g + h + i + j + k + m + n + o + A
VariableExplanation of variable
aFor a HiRDB single server configuration:
Value of pd_max_users
For a HiRDB parallel server configuration:
Total the values obtained using the following formulas for individual servers inside the unit:
Back-end server: Value of pd_max_bes_process
Dictionary server: Value of pd_max_dic_process
Front-end server: Value of pd_max_users
  • If the pd_max_bes_process or pd_max_dic_process operand is omitted, use the value of the pd_max_users operand.
  • If a unit contains multiple back-end servers, compute a value for each back-end server.
  • If multiple front-end servers are used, add one per front-end server.
  • For a unit to which the standby-less system switchover (effects distributed) facility is to be applied, substitute the value of the pd_ha_max_server_process operand.
bFor a HiRDB single server configuration:
1
For a HiRDB parallel server configuration:
Server count inside the unit (server count allocated to the unit by the pdstart operand of the system common definition)
  • For a unit to which the standby-less system switchover (effects distributed) facility is to be applied, add the value of the pd_ha_max_act_guest_servers operand (or the default, if this operand has been omitted).
cConcurrently executable process count in full recovery processing (value of the pd_max_recover_process operand)
dMaximum number of concurrently executable utilities ("2" is the default value for this operand)
eNumber of processes to be started in each server by the utility (set this variable to 10)
fNumber of processes to be started by HiRDB for controlling the server (set this variable to 6)
gNumber of processes to be started in each unit by the utility (set this variable to 10)
hNumber of processes to be started by HiRDB for controlling the unit (set this variable to 50)
iFor a HiRDB single server configuration:
1
For a HiRDB parallel server configuration:
Number of back-end servers in the unit
  • For a unit to which the standby-less system switchover (effects distributed) facility is to be applied, add the value of the pd_ha_max_act_guest_servers operand.
jFor a HiRDB single server configuration:
Value of the pd_max_ard_process operand
For a HiRDB parallel server configuration:
number of back-end servers in the unit[Figure] value specified for the pd_max_ard_process operand + number of dictionary servers in the unit[Figure] value specified for the pd_max_ard_process operand
  • For a unit to which the standby-less system switchover (effects distributed) facility is to be applied, add the following value:
    maximum value of pd_max_ard_process operand for guest BES[Figure] value of the pd_ha_max_act_guest_servers operand
kDepends on the value specified for the pd_process_terminator operand.
  • resident: 1
  • fixed (default value): pd_process_terminator_max operand value
  • nonresident: 0
mTo execute updatable online reorganization, substitute the following values. If updatable online reorganization is not to be executed, substitute 0.
For a HiRDB single server configuration:
x
For a HiRDB parallel server configuration:
x[Figure] (y + z)
x: pd_max_reflect_process_count operand value
y: Number of servers in the unit
z: pd_ha_max_act_guest_servers operand value
For a unit to which the standby-less system switchover (effects distributed) facility is to be applied, add z. For a unit to which the standby-less system switchover (effects distributed) facility is not applied, the value is 0.
nFor a HiRDB single server configuration:
pd_dfw_awt_process operand value
For a HiRDB parallel server configuration:
number of back-end servers[Figure] pd_dfw_awt_process operand value + number of dictionary servers[Figure] pd_dfw_awt_process operand value
  • For a unit to which the standby-less system switchover (effects distributed) facility is to be applied, add the following value:
    maximum value of pd_dfw_awt_process operand value for guest BES[Figure] pd_ha_max_act_guest_servers operand value
oWhen using a memory database, substitute the following value:
p + 128 + XDS count in the unit[Figure] 5 + 2
If the unit has a system manager
p: 64 [Figure] XDS count for the system as a whole
If the unit does not have a system manager
p: 0
AMaximum number of concurrently activated transaction recovery processes
[Figure]pd_trn_rcvmsg_store_buflen operand value[Figure] 72[Figure]
Relationship to other operands
  • This operand's value limits the maximum value of the pd_process_count operand.
  • If you need to adjust the value for each unit because the server configuration in each unit is different, specify the pd_max_server_process operand in the unit control information definition.
Notes
  • This specification value includes the number of processes for servers and utilities in the unit. If this value is too small, the following might occur:
    [Figure]Unit or server startup process results in an error
    [Figure]Transaction recovery cannot be performed
    [Figure]HiRDB planned termination cannot be performed
    [Figure]If the number of concurrent connections becomes greater than the maximum number of resident processes, connections can no longer be made
    [Figure]A command error results when an internal process activated by an extension of a command's execution starts.
  • Because the number of processes that can actually be activated depends on factors such as the system resources, it might be necessary to adjust the resources or to change the locations of servers in some cases.
Effects on individual estimation formulas
If the value of the pd_max_server_process operand is changed, the following estimation formulas are affected:
HiRDB Version 9 Installation and Design Guide:
  • Estimating AIX OS parameter values
  • Calculation of required memory 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 single server configuration
  • Calculation of required memory under Estimating the memory size required for a HiRDB parallel server configuration
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB parallel server configuration
  • Estimating HP-UX OS parameter values
  • Estimating Linux kernel parameter values
  • Estimating Solaris OS parameter values
7) pd_max_access_tables = concurrently-accessible-base-tables-count
~<unsigned integer>((4-32000))<<64>>
Specifies the maximum combined number of tables and sequence generators that can be accessed concurrently in a single transaction. This refers to the number of tables plus the number sequence generators coded in the SQL statements in a transaction.
Specification guidelines
  • If the same table or sequence generator is specified in different SQL statements, the count must include each time the table or sequence generator is used.
  • If the same table or sequence generator is specified more than once in the same SQL statement, the count must include each time the table or sequence generator is used.
  • To set up referencing privileges for dictionary tables, the value obtained by multiplying the number of dictionary tables to be accessed by 5 must be added to the concurrently accessible base tables count (for details about the dictionary table referencing privilege, see the HiRDB Version 9 System Operation Guide).
  • Specify a value greater than the number of times the load statement is specified in the HiRDB Datareplicator import table definition. Specifying a value smaller than the number of load statements will result in the KFPA11931-E error.
  • HiRDB manages individually for each HiRDB server process the entries in tables that can lock a transaction based on the value specified in this operand. If the value is insufficient, an SQL error will result.
Effects on individual estimation formulas
If the value of the pd_max_access_tables operand is changed, the following estimation formulas are affected:
HiRDB Version 9 Installation and Design Guide:
  • Considerations when migrating to 64-bit mode
  • Calculation of required memory 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 single server configuration
  • Calculation of required memory under Estimating the memory size required for a HiRDB parallel server configuration
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB parallel server configuration
  • Formula 1 under Formulas for shared memory used by a single server
  • Formula 1 and Formula 2 under Formulas for the size of the shared memory used by a dictionary server
  • Formula 1, Formula 2, and Formula 3 under Formulas for the size of the shared memory used by a back-end server
  • Formula for the shared memory used by a front-end server