Nonstop Database, HiRDB Version 9 Installation and Design Guide

[Contents][Index][Back][Next]

20.1 Estimating HP-UX OS parameter values

This section describes the procedures for estimating the HP-UX OS parameter values (or kernel parameter values). If OS parameter values are too small, HiRDB may not function correctly. The table below shows guidelines for HP-UX OS parameter values.

If you are using HP-UX 11i, do not change the OS parameter values while HiRDB is running. Even an OS parameter that can be adjusted automatically, if changed may affect HiRDB operations.

Table 20-1 Guidelines for the HP-UX OS parameter values

OS parameter Guideline for value
maxdsiz (32-bit-mode)
maxdsiz_64bit (64-bit mode)
[Figure] HiRDB single server configuration
The target value should satisfy the following two conditions; however, if the value is less than (process private area used by the single server process#1)[Figure]g, specify a value greater than this:
32-bit mode
  • Memory size for restarting HiRDB#2 + 52,428,800 (bytes) or greater
  • Value of pd_work_buff_size [Figure] 1,024 + 134,217,728 (bytes) or greater
64-bit mode
  • Memory size for restarting HiRDB#2 + 52,428,800 (bytes) or greater
  • Value of pd_work_buff_size [Figure] 1,024 + 134,217,728 (bytes) or greater
[Figure] HiRDB parallel server configuration
Use the following value as a guideline; however, if the value is less than (process private area used by each server process#3)[Figure]g, specify a value greater than this:
  • Size of memory required to restart HiRDB on each server#2 + 134,217,728 (bytes) or greater
maxssiz
maxssiz_64bit (64-bit mode)
Specify 80 MB or greater. Note that the unit for this value is MB. If this value is less than the value required by another program that is run on the server machine, specify the latter, which is greater.
maxfiles HiRDB calculates and sets this value, so you do not need to specify it.
maxfiles_lim Specify 8192.
nfile#6 Specify a value at or above: MAX{1,600, 320 [Figure] (h - g - i) + [a + (b [Figure] c) + 320] [Figure] g + 848 [Figure] i + h [Figure] 2 + 227 + k [Figure] m + C}
Specify at least the value obtained with the above formula by adding one of the following:
[Figure] HiRDB single server configuration
value of pd_max_users + value of pd_max_reflect_process_count
[Figure] HiRDB parallel server configuration
(D + 3 [Figure] number of servers in unit) [Figure] E
D: Total the values found by executing the following formulas for each server in the unit.
Back-end server
value of pd_max_bes_process + value of pd_max_reflect_process_count
Dictionary server
value of pd_max_dic_process + value of pd_max_reflect_process_count
If the pd_max_bes_process or pd_max_dic_process operand is omitted, perform the calculation using the pd_max_users value.
If the unit has multiple back-end servers, perform the calculation for each back-end server.
E: 16 (number of lock-release wait threads)
If the value determined from this formula exceeds the system maximum, use the system maximum value.
nflocks Specify at least a + (b [Figure] c) + 3 + (320 [Figure] g).
maxuprc Specify at least MAX(value of pd_max_server_process + e, 512).
However, if this value is less than the value required by another program that runs on the server machine, specify the higher value.
nproc Specify at least the value of MAX (pd_max_server_process + 20, 576).
msgmni Specify the number of message queue identifiers required by all programs that are run on the server machine. For details about the number of message queue identifiers required by HiRDB, see 20.5 Estimating the sizes of message queues and semaphores. Add the values obtained.
msgtql See msgtql formula below. Specify at least the value obtained.
msgmnb See msgmnb formula below. Specify at least the value obtained. However, for a multi-HiRDB configuration, specify the highest of the values obtained for the HiRDB systems.
semmni Specify the number of semaphore identifiers required by all programs that are run on the server machine. For details about the number of semaphore identifiers required by HiRDB, see 20.5 Estimating the sizes of message queues and semaphores. Add the values obtained. The recommended value is 1,024 or greater.
semmns Specify the number of semaphores required by all programs that are run on the server machine. For details about the number of semaphores required by HiRDB, see 20.5 Estimating the sizes of message queues and semaphores. Add the values obtained. The recommended value is 7,200 or greater.
semmnu Specify a value of 512 or greater.
semume Specify a value of 512 or greater.
shmmax Specify at least MAX(p + q, r, s, t), and at least 200,000,000.
If the global buffer dynamic update facility is used, consider the size of the global buffers to be added; if there is a possibility that the size of the added part will become greater than the specified value, specify the anticipated size of the added part.
However, if the inter-process memory communication facility is used (PDIPC=MEMORY is specified in the client environment definition), specify a size of at least MAX(p + q, r, s, value of PDSENDMEMSIZE, value of PDRECVMEMSIZE).
Specify in the HiRDB system definition's SHMMAX operand a value no greater than the value for shmmax determined here.
shmmni Specify a value of 1,000 or greater.
  • If you are using the security audit facility, add 1.
  • If you are using the facility for dynamically changing global buffers, add:
    HiRDB single server configuration
    value of pd_max_add_dbbuff_shm_no operand
    HiRDB parallel server configuration
    n
    [Figure]the values of pd_max_add_dbbuff_shm_no operands specified in each server definition
    i=1
    n: Number of back-end servers + dictionary servers on the server machine
  • If you are using the inter-process memory communication facility (if PDIPC=MEMORY has been specified in the client environment definitions), add the value obtained with the following formula:
    A [Figure] 2 [Figure] 1.2
    A is the maximum number of concurrent executions of clients that use the inter-process memory communication facility. If A is unknown, substitute the total number of clients that use the inter-process memory communication facility or k.
  • If you are using in-memory data processing, add:
    HiRDB single server configuration
    value of pd_max_resident_rdarea_shm_no operand
    HiRDB parallel server configuration
    value of pd_max_resident_rdarea_shm_no operand [Figure] number of back-end servers
shmseg Specify a value of 120 or greater.
  • If you are using the security audit facility, add 1.
  • If you are dynamically changing global buffers, add the maximum value of the pd_max_add_dbbuff_shm_no operand specified by the individual server definitions.
  • For in-memory data processing, add the value of the pd_max_resident_rdarea_shm_no operand.

a: Number of input data files and divided-input data files used by the database load utility, or the number of unload data files used by the database reorganization utility

b: Maximum number of index row partitions (indexes subject to processing by the database load utility, database reorganization utility, or rebalancing utility)

c: Number of indexes (indexes subject to processing by the database load utility, database reorganization utility, or rebalancing utility)

d: One of the following values:
  • HiRDB single server configuration
    Value of pd_max_users operand + value of pd_max_reflect_process_count operand
  • HiRDB parallel server configuration
    Value of pd_max_bes_process operand + value of pd_max_reflect_process_count operand

e: Maximum number of concurrently executable commands (including utilities)

f: One of the following:
  • HiRDB single server configuration: 1
  • HiRDB parallel server configuration: 16

g: One of the following values:
  • HiRDB single server configuration: Value of pd_max_users operand + value of pd_max_reflect_process_count operand
  • HiRDB parallel server configuration: Total of the following values for all back-end and dictionary servers in the unit:
    Value of pd_max_bes_process operand + value of pd_max_reflect_process_count operand
    Value of pd_max_dic_process operand + value of pd_max_reflect_process_count operand

h: Value of pd_max_server_process operand

i: Number of servers in the unit

j: One of the following:
  • HiRDB single server configuration: 4
  • HiRDB parallel server configuration: 35

k: Value of pd_max_users operand + value of pd_max_reflect_process_count operand

m: One of the following values:
  • If a front-end server exists in the unit in a HiRDB parallel server configuration: 2
  • Other than the above: 0

n: If you specify the batch index creation mode or index information output mode as the index creation mode with the database load utility, database reorganization utility, or rebalancing utility, use the value obtained from the following formula:
MIN(MAX(576, number of HiRDB servers in the system + 448) + b [Figure] c, maximum value of the pd_max_open_fds operand)
For details about the maximum value of the pd_max_open_fds operand, see the manual HiRDB Version 9 System Definition.

p: Size of the shared memory used by the unit controller

q: Size of the shared memory used by the single server or each server

r: Value specified in the HiRDB system definition's SHMMAX operand

s: Estimated value for shared memory used by the global buffers#4

t: Estimated value for shared memory used by the security audit information buffer#5

C:
For a HiRDB single server configuration: MAX(256, (number of HiRDB servers in the system+ 32)) [Figure] (g + k) + (h - k) [Figure] MAX(number of HiRDB servers in the system, number of units)
For a HiRDB parallel server configuration: MAX(256, (number of HiRDB servers in the system+ 32)) [Figure] (g + k) + (h - g - k) [Figure] MAX(number of HiRDB servers in the system, number of units)

#1: For details about the process private area used by a single server process, see 15.1.2 Calculation of required memory.

#2: For details about estimating the memory size for restarting HiRDB, see 15.1.2 Calculation of required memory for a HiRDB single server configuration, and 15.2.2 Calculation of required memory for a HiRDB parallel server configuration.

#3: For details about the process private area used by each server process, see 15.2.2 Calculation of required memory.

#4: For details about estimating the shared memory used by the global buffers, see 15.1.5 Formula for size of shared memory used by global buffers for a HiRDB single server configuration, and see 15.2.5 Formula for size of shared memory used by global buffers for a HiRDB parallel server configuration.

#5: For details about estimating the size of shared memory used by the security audit information, for a HiRDB single server configuration, see 15.1.2 Calculation of required memory for a HiRDB parallel server configuration and 15.2.2 Calculation of required memory for a HiRDB parallel server configuration.

#6: This value does not need to be specified in HP-UX 11i V3 or later.

[Figure] msgtql formula
The following table shows the formula for msgtql.

[Figure]

Add Bi if you are using the asynchronous READ facility (if 1 or more is specified for the pd_max_ard_process operand). If you are not using the asynchronous READ facility, count this as 0.
Ci: The number of global buffers allocated to each server
Total the global buffer names displayed by the pdbufls command in server units to confirm them.
Di: Skips of effective synchronization point dumps generated by each server
  • If a nonzero value is specified in the pd_spd_syncpoint_skip_limit operand: Use the value specified by the pd_spd_syncpoint_skip_limit operand in the formula.
  • If the pd_spd_syncpoint_skip_limit operand is not specified or is 0: Calculate as directed in Method based on the byte count of all system logs in Monitoring UAP status (skipped effective synchronization point dump monitoring facility) in the HiRDB Version 9 System Operation Guide.
Ei: Maximum number of concurrent executions of pdload, pdrorg, pdrbal, and no-log mode UAPs executed in each server
Fi: Total of values specified in the -m options of pdbuffer operands among the global buffers allocated to individual servers
m: For a HiRDB single server configuration, 1. For a HiRDB parallel server configuration, the following value.
  • Number of back-end servers in unit + number of dictionary servers in unit + number of guest BESs in unit
Add the number of guest BESs in the unit if the unit is using the standby-less system switchover (effects distributed) facility.
n: Number of units defined in the server machine
p: For a HiRDB single server configuration, 1. For a HiRDB parallel server configuration, the following value:
  • number of FESs in the unit + number of BESs in the unit + number of dictionary servers in the unit + value of pd_ha_max_act_guest_servers operand
Add the value of the pd_ha_max_act_guest_servers operand for a unit that uses the standby-less system switchover (effects distributed) facility.

[Figure] msgmnb formula
The formula for msgmnb is as follows:
Value of msgmnb = MAX((A + B [Figure] 2 + C + 1)#2 [Figure] 40, D#2 [Figure] 16, E [Figure] F [Figure] 4, G [Figure] 4)#1
#1
Specify the largest of the values obtained for all servers in the unit.
If the unit is subject to standby-less system switchover (1:1), specify the largest value among the values obtained for all servers and alternate BESs in the unit.
If the unit is subject to standby-less system switchover (effects distributed), specify the largest value among the values obtained for all servers in the unit and all BESs in the HA group.
#2
Front-end server: 0
A: Number of global buffers allocated to the server
To confirm this number, total the global buffer names displayed by the pdbufls command per server.
B: Number of skips of effective synchronization point dumps generated by the server
  • If a nonzero value is specified in the pd_spd_syncpoint_skip_limit operand:
    Use the value specified by the pd_spd_syncpoint_skip_limit operand in the formula.
  • If the pd_spd_syncpoint_skip_limit operand is not specified or is 0:
    Calculate as directed in Method based on the byte count of all system logs in Monitoring UAP status (skipped effective synchronization point dump monitoring facility) in the HiRDB Version 9 System Operation Guide.
C: Maximum number of concurrent executions of pdload, pdrorg, pdrbal, and no-log mode UAPs executed on the server
D: If you are using the asynchronous READ facility (if 1 or more is specified for the pd_max_ard_process operand), the value is as follows:
  • Total of values specified in the -m options of pdbuffer operands among the global buffers allocated to the server
If you are not using the asynchronous READ facility, use 0.
E: Value of the pd_max_users operand
F: For a HiRDB single server configuration, 1. For a HiRDB parallel server configuration, the following value:
  • number of FESs in the unit + number of BESs in the unit + number of dictionary servers in the unit + value of pd_ha_max_act_guest_servers operand
Add the value of the pd_ha_max_act_guest_servers operand for a unit that applies the standby-less system switchover (effects distributed) facility.
G: [Figure]value of pd_trn_rcvmsg_store_buflen operand [Figure] 72[Figure]