2.3.2 Operands related to maximum concurrent executions

4) pd_max_users = maximum number of concurrent connections
[Figure]<unsigned integer>((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 command and utility connection count, see Maximum number of concurrent executions for commands in the manual HiRDB Version 8 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 8 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).
5) pd_max_server_process = maximum-number-of-concurrently-activated-server-processes
[Figure]<unsigned integer>((50-10000))
Specifies the maximum number of processes that can be activated at the same time in the same unit. The number of server processes includes the number of processes for the system server, individual servers, utilities, etc. (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 + 26) + 73 + i + j + k + n
  • 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
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, substitute the value of the pd_ha_max_act_guest_servers operand.
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 inside 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-inside-the-unit[Figure] value specified for the pd_max_ard_process operand + number-of-dictionary-servers-inside-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
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 may occur:
    [Figure]Unit or server startup process results in an error
    [Figure]Transaction recovery cannot be performed
    [Figure]HiRDB planned termination cannot be performed
  • Because the number of processes that can actually be activated depends on factors such as the system resources, it may be necessary to adjust the resources or to change the locations of servers in some cases.
6) pd_max_access_tables = concurrently-accessible-base-tables-count
[Figure]<unsigned integer>((4-32000))<<64>>
Specifies the maximum number of tables that can be accessed concurrently in a single transaction. The number of tables that can be accessed concurrently means the total number of tables coded in the SQL statements in a transaction. If the number specified by this operand is exceeded, an error results, processing returns to the UAP, and rollback processing is executed.
Specification guidelines
  • If the same table is specified in different SQLs, the total number of times the table is used must be counted.
  • If the same table is specified more than once in the same SQL, the total number of times the table is used must be counted.
  • 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 8 System Operation Guide).
7) pd_utl_exec_mode = 0 | 1
Specifies a value that indicates the maximum number of concurrent executions of utilities, as indicated below:
UtilityMaximum number of concurrent executions
pd_utl_exec_mode = 0pd_utl_exec_mode = 1
Database load utility32pd_max_users value
Database reorganization utility32
Database copy utility*32
Database recovery utility32
Database condition analysis utility16
Optimization information collection utility16pd_max_users value [Figure]2
* The number of backup files affects the maximum number of concurrent executions of the database copy utility. As the number of backup files increases, the maximum number of concurrent executions decreases. For details, see the explanation of the database copy utility in the HiRDB Version 8 Command Reference.
Specification guidelines
  • Specifying 0 fixes the size of the HiRDB shared memory to be used by utilities.
  • When 1 is specified, the shared memory needed for utility execution is allocated dynamically during utility execution.
  • When the value of pd_max_users is 32 or less and the number of concurrent executions of utilities is less than the value specified in pd_max_users, specifying pd_utl_exec_mode = 1 will reduce the amount of shared memory that is used.
  • If a HiRDB/Parallel Server satisfies the following condition, specify 1 for this operand.
    total-number-of-BESs[Figure] 2 [Figure] number-of-utilities-to-be-concurrently-executed[Figure] 824
Note
  • If the number of back-end servers is large, a shared memory shortage may prevent utility execution.
8) pd_max_commit_write_reclaim_no = maximum-number-of-concurrent-executions-of-pdreclaim-commands-with-p-option-specified
[Figure]<unsigned integer>((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 you specify the -p option in pdreclaim commands, specify the number of concurrent executions per 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 8 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.