21.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
(2) HiRDB/Parallel Server

(1) HiRDB/Single Server

TypeFormula
Number of message queue identifiers(7 + f) [Figure] a + 25
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:
ConditionValue of dValue of e
pd_ha_acttype=monitor (or default)00
pd_ha_acttype= serverpd_ha_agent=standbyunit17
pd_ha_agent omittedpd_ha_server_process_standby=Y
(or default)
12
pd_ha_server_process_standby=N01
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

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
TypeFormula
Number of message queue identifiersb
[Figure] Vi + 2 [Figure] a + 3 [Figure] b + c + d + e + 24
i = 1
Number of semaphore identifiersb
[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
TypeFormula
Number of message queue identifiersb
[Figure] Vi + 2 [Figure] a + 3 [Figure] b + c + d + e + 24
i = 1
Number of semaphore identifiersb
[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 and back-end servers in the server machine
c: 2 (front-end server) or 0 (other server)
d: 5 (dictionary server) or 0 (other server)
e: 5 (back-end server) or 0 (other server)
f: Add when the system switchover facility is being used; determine the value from the table below.
g: Add when the system switchover facility is being used; determine the value from the table below.
ConditionValue of fValue of g
pd_ha_acttype=monitor (or omitted)00
pd_ha_acttype=serverpd_ha_agent=standbyunit1h
pd_ha_agent omittedpd_ha_server_process_standby=Y
(or omitted)
1i
pd_ha_server_process_standby=N01
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
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