6.2.6 Operands related to lock

12) pd_fes_lck_pool_size = front-end-server-lock-pool-size
~<unsigned integer> (kilobytes)
  • 32-bit mode: ((1-2000000))
  • 64-bit mode: ((1-2000000000))
Specifies in kilobytes the size of the shared memory area to be used by the front-end server for locking (lock pool).
The area specified by this operand is used for tables for managing locked resources. Note the following relationship between the number of tables for managing locked resources, the number of lock requests, and the lock pool size:
Number of tables for managing locked resources = number of lock requests = size of lock pool[Figure] coefficient
Specification guidelines
  • In the 32-bit mode, the amount of lock pool space required for six lock requests is 1 kilobyte.
  • In the 64-bit mode, the amount of lock pool space required for four lock requests is 1 kilobyte.
  • Use the following formula to determine the value of this operand:
    [Figure](a + b) [Figure]value of pd_fes_lck_pool_partition[Figure][Figure] c[Figure][Figure] value of pd_fes_lck_pool_partition (kilobytes)
a: Total number of transaction lock requests to be executed concurrently by the front-end server. The number of lock requests depends on the SQL. For details about how to determine the total number of lock requests, see D. Determining the Number of Locked Resources.
b: (value of pd_max_users + pd_max_reflect_process_count + 3) [Figure](value of pd_max_access_tables + 4)
c: Use 6 and 4 for 32- and 64-bit modes, respectively.
Tuning the specified value
See the usage rate for the locked resources management table (% OF USE LOCK TABLE) displayed for the front-end server in the statistical information on system operation by the statistics analysis utility. If the maximum usage rate equals or exceeds 80%, it is recommended that the operand's value be increased in preparation for future database expansion. If the maximum usage rate does not exceed 10%, it is recommended that the operand's value be decreased to conserve shared memory space.
Operand default
If this operand is omitted, the specification of the same operand in the server common definition is assumed. If the same operand is also omitted in the server common definition, the default is the value shown below:
[Figure]32-bit mode
{(pd_max_users value + pd_max_reflect_process_count value + 3) [Figure] (pd_max_access_tables value + 4)} [Figure] 6
[Figure]64-bit mode
{(pd_max_users value + pd_max_reflect_process_count value + 3) [Figure] (pd_max_access_tables value + 4)} [Figure] 4
Note
  • If the value specified for this operand is too small, an SQL statement might return an error.
  • A large value will increase the size of the shared memory used by HiRDB, which might cause a shortage of shared memory and prevent HiRDB from starting.
Relationship to other operands
This operand is related to the pd_fes_lck_pool_partition operand.
13) pd_fes_lck_pool_partition = front-end-server-lock-pool-partition-count
~<unsigned integer>((1-5000))
Specifies the number of lock pool partitions to be used in locking by the front-end server when distributing lock processing.
For details about distributing lock processing, see the HiRDB Version 9 System Operation Guide.
Tuning the specified value
For details about how to tune the number of lock pool partitions, see the HiRDB Version 9 System Operation Guide.
Operand default
If this operand is omitted, the specification of the same operand in the server common definition is assumed. If the same operand is also omitted in the server common definition, the default is 1.
Notes
  • When the value set in this operand is too large, the size of the shared memory assigned to each lock pool partition becomes smaller, which might result in not enough lock pool partition capacity, causing SQL to return an error. Lock processing also takes time, so system performance declines. If this becomes an issue, specify a smaller value in this operand.
  • The lock pool size must be at least 1 kilobyte. If a value larger than the value of pd_lck_pool_size is specified, the KFPS00421-W message will be issued and the value of pd_lck_pool_size will be assumed for this operand.
  • If you specify a value of 2 or more for this operand, the interval check mode is applied as the processing method for checking a deadlock, and a time lag occurs between the occurrence and detection of a deadlock. For details about the processing method for checking a deadlock, see Deadlocks and corrective measures in the HiRDB Version 9 UAP Development Guide.
Relationship to other operands
This operand is related to the following operands:
  • pd_fes_lck_pool_size
  • pd_lck_deadlock_check_interval
Effects on individual estimation formulas
If the value of the pd_fes_lck_pool_partition operand is changed, the following estimation formula is affected:
HiRDB Version 9 Installation and Design Guide:
  • Formulas for shared memory used by a unit controller under Estimating the memory size required for a HiRDB parallel server configuration
14) pd_lck_hash_entry = lock-pool-hash-entry-count
~<unsigned integer>((0-2147483647))
Specifies the number of hash table entries to be used in the lock pool. According to the value specified here, HiRDB allocates a lock pool in the shared memory for the unit controller.
Specification guidelines
Normally, omit this operand.
Consider specifying a value for this operand in the following cases:
  • If you do not wish to change the shared memory size if possible when upgrading to version 06-02 or later, specify 11261. In this case, the same number of hash entries is allocated as in the earlier version, and the hash table size inside the lock pool remains the same as before.
  • It is possible to improve performance by specifying in this operand a value greater than the recommended value shown below. However, specifying a value greater than variable a (also shown below) will not improve performance over the case in which a is specified.
    The recommended value is as follows:
    Recommended value = Largest prime number not exceeding MAX([Figure]a[Figure] 10[Figure], 11,261)
    VariableFormula for computing the variable
    aIf pd_fes_lck_pool_size is omitted(b + 3) [Figure] (pd_max_access_tables value + 4)
    If pd_fes_lck_pool_size is specifiedpd_fes_lck_pool_size value[Figure] c
    bMultiple front-end serverpd_max_users value + pd_max_reflect_process_count value + 1
    Not multiple front-end serverpd_max_users value + pd_max_reflect_process_count value
    c6 for the 32-bit mode; 4 for the 64-bit mode
Operand rules
  • If this operand and the pd_lck_hash_entry operand of the server common definition are both omitted or 0 is specified in this operand, HiRDB calculates a recommended value for the server.
  • When a value that is neither 0 nor a prime number is specified in this operand, HiRDB assumes that the specification is the largest prime number that does not exceed the specified value.
Note
If the value specified in this operand is too small, there might be an insufficient number of hash entries, and performance might deteriorate. If this operand is omitted, there will never be a shortage of hash entries and performance will not deteriorate due to an insufficient number of hash entries.