Nonstop Database, HiRDB Version 9 Installation and Design Guide

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

20.2 Estimating Solaris OS parameter values

This section describes the procedures for estimating the Solaris OS parameter values (or kernel parameter values). If OS parameter values are too small, HiRDB may not function correctly. If you are controlling the IPC function using resource control on Solaris 10 or later, set the parameters for the system project.

The following table provides guidelines for Solaris OS parameter values.

Table 20-2 Guidelines for the Solaris OS parameter values

OS parameter Guideline for value
rlim_fd_cur HiRDB calculates and sets this value, so you do not need to specify it.
rlim_fd_max For 32-bit mode
Specify 2,048.
For 64-bit mode
Specify 8,192.
maxuprc Specify at least MAX(d + e, 1,024).
However, if the default values calculated from maxusers and max_nproc are greater, do not change those values.
maxusers Specify at least 128.
max_nprocs#1 Specify at least MAX(d + 20, 1,000).
However, if the default value calculated from maxusers is greater, do not change that value.
msgsys:msginfo_msgmni
(project.max-msg-ids)#1, #4
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.
msgsys:msginfo_msgtql
(process.max-msg-messages)#1, #4
See msgtql formula in 20.1 Estimating HP-UX OS parameter values. Specify at least the value obtained.
semsys:seminfo_semmni
(project.max-sem-ids)#4
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.
semsys:seminfo_semmns#1, #3 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.
semsys:seminfo_semmnu#1, #3 Specify a value of 1,024 or greater.
semsys:seminfo_semume#1, #3 Specify a value of 512 or greater.
semsys:seminfo_semmsl
(process.max-sem-nsems)#4
Specify a value of 128 or greater.
semsys:seminfo_semopm
(process.max-sem-ops)#4
Specify a value of 128 or greater.
semsys:seminfo_semmap#1, #2, #3 Specify a value of 1,024 or greater.
shmsys:shminfo_shmmax#1, #5 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.
project.max-shm-memory#6 Specify a value greater than the value obtained from adding the HiRDB shared memory size to the size of shared memory used by other applications and OS processes.
You can find the size of HiRDB shared memory in the following locations:
If you are using the facility for dynamically changing global buffers, consider the size of the global buffer to be added and, if the additional amount might possibly become larger than the set value, specify the predicted size of the additional amount.
shminfo_shmmni
(project.max-shm-ids)#1, #4
Specify a value of 2,000 or greater.
  • If you are using the security audit facility, add 1.
  • Also, if you are using the facility for dynamically changing global buffers, add:
    HiRDB single server configuration
    value of the pd_max_add_dbbuff_shm_no operand
    HiRDB parallel server configuration
    n
    [Figure]values of the pd_max_add_dbbuff_shm_no operands set 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 was 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 the pd_max_resident_rdarea_shm_no operand
    HiRDB parallel server configuration
    value of the pd_max_resident_rdarea_shm_no operand [Figure] number of back-end servers
shminfo_shmseg#2, #3 Specify a value of 240 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 operands specified in the individual server definitions.
  • For in-memory data processing, add the value of the pd_max_resident_rdarea_shm_no operand.

d: Value of pd_max_server_process

e: Maximum number of utility processes that are executed concurrently by the HiRDB administrator

k: Value of pd_max_users operand + value of pd_max_reflect_process_count operand

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 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.
In other cases, use 0.

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)

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
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.

t: Estimated value for shared memory used by the security audit information buffer
For details about estimating the shared memory used by the security audit information buffer, 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.

#1: This parameter is not required for Solaris 8.

#2: This parameter is not required for Solaris 9.

#3: This parameter is not required for Solaris 10.

#4: For Solaris 10, use Solaris' resource control to specify the parameter inside the parenthesis ( ) for adjustment.

#5
For Solaris 10, this parameter is not required if you are making adjustments using Solaris' resource control.

#6
For Solaris 10, specify this parameter if you are making adjustments using Solaris' resource control.