2.2.2 Operands related to maximum concurrent executions

4) pd_max_users = maximum-number-of-concurrent-connections
  • For a HiRDB/Single Server: ((1-3000))<<10>>
  • For a HiRDB/Parallel Server: ((1-2000))<<10>>
This operand specifies the maximum number of concurrent connections allowed for the HiRDB server. For a HiRDB/Parallel Server, 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).
  • 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_lck_release_detect
  • pd_max_bes_process
  • pd_max_dic_process
  • 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
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB/Single Server
  • Processes started by HiRDB/Parallel Server
  • Calculation of required memory under Estimating the memory size required for a HiRDB/Parallel Server
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB/Parallel Server
  • 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 number of ports that a unit will use
  • HiRDB/Single Server under Determining Environment Variables Related to the Number of Resources
  • HiRDB/Parallel Server under Determining Environment Variables Related to the Number of Resources
5) 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 + 27) + 73 + i + j + k + n + o
    When v6compatible is specified in the pd_sysdef_default_option operand, the default for this operand is 100.
  • If you choose to specify this operand, use the following formula as a reference for determining the operand value. For a HiRDB/Parallel Server, 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) + d[Figure] g + h + i + j + k + n + o + A
VariableExplanation of variable
aFor HiRDB/Single Server:
Value of pd_max_users
For HiRDB/Parallel Server:
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.
  • 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 HiRDB/Single Server:
1
For HiRDB/Parallel Server:
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 HiRDB/Single Server:
1
For HiRDB/Parallel Server:
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, substitute the value of the pd_ha_max_act_guest_servers operand.
jFor HiRDB/Single Server:
value of the pd_max_ard_process operand
For HiRDB/Parallel Server:
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
nFor HiRDB/Single Server:
pd_dfw_awt_process operand value
For HiRDB/Parallel Server:
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:
  • Calculation of required memory 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/Single Server
  • Calculation of required memory under Estimating the memory size required for a HiRDB/Parallel Server
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB/Parallel Server
  • Estimating desktop heap settings
  • HiRDB/Single Server under Determining Environment Variables Related to the Number of Resources
  • HiRDB/Parallel Server under Determining Environment Variables Related to the Number of Resources
6) 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.
Relationship to other operands
When v6compatible is specified in the pd_sysdef_default_option operand, the default for this operand is 16.
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
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB/Single Server
  • Calculation of required memory under Estimating the memory size required for a HiRDB/Parallel Server
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB/Parallel Server
  • 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
7) pd_utl_exec_mode = 0 | 1
Specifies whether to permit increases in the maximum number of concurrent executions of utilities.
0:
Do not permit increases in the maximum number of concurrent executions of utilities. When 0 is specified, the HiRDB system determines a fixed maximum number of concurrent executions of utilities.
1:
Permit increases in the maximum number of concurrent executions of utilities. When 1 is specified, the maximum number of concurrent executions of utilities can be increased on the basis of the value of the pd_max_users operand.
For details about the maximum number of concurrent executions of utilities that is determined by the value specified in this operand, see Maximum number of concurrently executable utilities in the manual HiRDB Version 9 Command Reference.
Specification guidelines
Normally, 0 is specified, but specify 1 in the following cases:
  • When the maximum number of concurrent executions with 0 specified is insufficient.
  • When the following formula applies:
total back-end server count (1 for a HiRDB/Single Server) [Figure] 2 [Figure] concurrent number of executions for all utilities[Figure] 824
In addition, when both of the following conditions apply, specifying 1 in this operand can reduce the amount of shared memory used.
  • value of pd_max_users < 32
  • value of pd_max_users > maximum-number-of-concurrent-executions-of-utilities
When 1 is specified, the shared memory needed for utility execution is allocated dynamically during utility execution.
Effects on individual estimation formulas
If the value of the pd_utl_exec_mode operand is changed, the following estimation formulas are affected:
HiRDB Version 9 Installation and Design Guide:
  • Calculation of required memory 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/Single Server
  • Calculation of required memory under Estimating the memory size required for a HiRDB/Parallel Server
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB/Parallel Server
8) pd_max_commit_write_reclaim_no = maximum-number-of-concurrent-executions-of-pdreclaim-commands-with-p-option-specified
  • For a HiRDB/Single Server: ((0-3000))<<10>>
  • For a HiRDB/Parallel Server: ((0-2000))<<10>>
Specifies the maximum number of pdreclaim commands with the -p option specified that can be executed concurrently. For a HiRDB/Parallel Server, this operand specifies the maximum number of concurrent executions per server.
Specifying 0 results in termination with an error of any pdreclaim command in which the -p option is specified. When the number of concurrent executions of pdreclaim commands in which the -p option is specified exceeds the value of this operand, the excess pdreclaim commands in which the -p option is specified terminate with an error.
Specification guidelines
If the -p option is specified in the pdreclaim command, specify a value that adds a margin for the number of concurrent executions for the server that executes those commands. If you always omit the -p option from the pdreclaim command, specify 0 (to reduce the size of shared memory used).
Notes
If you specify a large value for this operand, check and, if necessary, revise the memory requirement, because the shared memory used by the back-end server, dictionary server, and single server increases. For details about estimating the shared memory, see the HiRDB Version 9 Installation and Design Guide.
Relationship to other operands
If v6compatible or v7compatible is specified in the pd_sysdef_default_option operand, 0 is assumed when this operand is omitted. This means that if you specify v6compatible or v7compatible in the pd_sysdef_default_option operand and omit this operand, pdreclaim commands in which the -p option is specified cannot be executed.
Effects on individual estimation formulas
If the value of the pd_max_commit_write_reclaim_no operand is changed, the following estimation formulas are affected:
HiRDB Version 9 Installation and Design Guide:
  • Formula 5 under Formulas for the size of the shared memory used by a dictionary server
  • Formula 6 under Formulas for the size of the shared memory used by a back-end server