Nonstop Database, HiRDB Version 9 Installation and Design Guide

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

20.5 Estimating the sizes of message queues and semaphores

This section presents the formulas for determining the sizes of message queues and semaphores required for one server machine.

Organization of this section
(1) HiRDB single server configuration
(2) HiRDB parallel server configuration

(1) HiRDB single server configuration

Type Formula
Number of message queue identifiers (16 + f) [Figure] a + 30
Number of semaphore identifiers {[Figure]{2 [Figure] (b + 3) + 12} [Figure] 64[Figure] + [Figure]c [Figure] 64[Figure] + g + 5 } [Figure] a + 2 + d
Number of semaphores(Total number of semaphores per identifier) {2 [Figure] (b + 3) + c + h + 37} [Figure] a + 3 + e

a: 1 (single server) or 0 (utility special unit)

b: Value of pd_max_users operand + value of pd_max_reflect_process_count operand.

c: Number of pdbuffer operands specified (number of global buffers)

d: Add when the system switchover facility is being used; determine the value from the table below.

e: Add when the system switchover facility is being used; determine the value from the following table:
Condition Value of d Value of e
pd_ha_acttype=monitor (or default) 0 0
pd_ha_acttype= server pd_ha_agent=standbyunit 1 7
pd_ha_agent omitted pd_ha_server_process_standby=Y
(or default)
1 2
pd_ha_server_process_standby=N 0 1

f: 1 (if 1 or greater is specified in the pd_max_ard_process operand) or 0

g: 2 (if a value is specified in the pd_dfw_awt_process operand) or 0

h: Value of the pd_dfw_awt_process operand + 1 (if a value is specified in the pd_dfw_awt_process operand) or 0

(2) HiRDB parallel server configuration

For details about the variables used in the formulas, see (c) Variables used in the formulas.

(a) When the standby-less system switchover (effects distributed) facility is not used
Type Formula
Number of message queue identifiers b
[Figure] Vi + 2 [Figure] a + 3 [Figure] b + c + d + e + 26 + m
i = 1
Number of semaphore identifiers b
[Figure]{[Figure](Si + Ti + Ui) [Figure] 64[Figure] + Wi} + 6 [Figure] b + 2 + f
i = 1
Number of semaphores (total number of semaphores per identifier) b
[Figure](Si + Ti + Ui + Xi) + 26 [Figure] b + 3 + g
i = 1
(b) When the standby-less system switchover (effects distributed) facility is used
Type Formula
Number of message queue identifiers b
[Figure] Vi + 2 [Figure] a + 3 [Figure] b + c + d + e + 26 + m
i = 1
Number of semaphore identifiers b
[Figure]{[Figure]{Yi [Figure] (j + k)} [Figure] 64[Figure] + Wi} + 6 [Figure] b + 2 + f
i = 1
Number of semaphores (total number of semaphores per identifier) b
[Figure]{Yi [Figure] (j + k) + Xi} + 26 [Figure] b + 3 + g
i = 1
(c) Variables used in the formulas

a: Number of front-end servers in the server machine

b: Number of dictionary servers in the server machine + n

c: 4 (front-end server) or 0 (other server)

d: 8 (dictionary server) or 0 (other server)

e: 16 [Figure] n (back-end server) or 0 (other server)

f and g: Add when the system switchover facility is being used; determine the value from the table below.
Condition Value of f Value of g
pd_ha_acttype=monitor (or omitted) 0 0
pd_ha_acttype=server pd_ha_agent=standbyunit 1 h
pd_ha_agent=server 1 6 + 2 [Figure] (number of BESs in the unit to which standby-less system switchover (1:1) is applied)
pd_ha_agent=activeunits 0 0
pd_ha_agent omitted pd_ha_server_process_standby=Y
(or omitted)
1 i
pd_ha_server_process_standby=N 0 1

h: 6 + 2 [Figure] (total number of front-end servers, dictionary servers, and back-end servers in the server machine)

i: 1 + (total number of front-end servers, dictionary servers, and back-end servers in the server machine)

j: Number of host BESs

k: Number of guest BESs

m: If there is a system manager unit, 3; otherwise, 0

n: One of the following:
  • When the standby-less system switchover (effects distributed) facility is not used
    Then number of back-end servers in the server machine
  • When the standby-less system switchover (effects distributed) facility is used
    number of host BESs in server machine + value of pd_ha_max_act_guest_servers operand

Si: Number of pdbuffer -r operands defined for RDAREAs placed in each server

Ti: Number of pdbuffer -i operands defined for RDAREAs placed in each server

Ui: Number of -o options specified in the pdbuffer operand

Vi: 1 (if 1 or greater is specified in the pd_max_ard_process operand) or 0

Wi: 2 (if a value is specified in the pd_dfw_awt_process operand) or 0

Xi: Value of the pd_dfw_awt_process operand + 1 (if a value is specified in the pd_dfw_awt_process operand) or 0

Yi: Number of -c options specified in the pdbuffer operand