Nonstop Database, HiRDB Version 9 System Operation Guide

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

9.4 Changing the number of server processes

This section explains the procedures for changing the number of server processes. The following topics are covered:

Organization of this section
(1) Operands for specifying the number of server processes
(2) Procedures for changing the number of server processes
(3) Examples of operation when the number of server processes is changed
(4) Notes (applicable to HiRDB parallel server configurations only)

(1) Operands for specifying the number of server processes

(a) Operands for specifying the maximum number of active processes

The maximum number of server processes that can be started by HiRDB (maximum number of active processes) is determined by the HiRDB system definition operands shown in the following table.

Table 9-2 Operands for specifying the maximum number of active processes

Type of server Definition type Operand
Single server System common definition pd_max_users
Front-end server System common definition pd_max_users
Dictionary server Dictionary server definition or server common definition pd_max_dic_process#1
Back-end server Back-end server definition or server common definition pd_max_bes_process#2

Notes
  1. If there are multiple front-end servers, processing requests are sent from those servers to the dictionary server and back-end servers. This might result in a concentration of the number of processes that exceeds the value specifiable in the pd_max_users operand in the system common definition. The resulting concentration of processes is the product of the value specified in the pd_max_users operand [Figure] number of front-end servers). Therefore, when multiple front-end servers are used, estimate a maximum number of processes appropriate to the concentration level of processing must be determined, and then the pd_max_dic_process and pd_max_bes_process operands can be specified.
  2. Even when only one front-end server is used, if more operations related to RDAREAs or global buffers (pdbufls, pddbls, pdopen, pdclose, pdhold, and pdrels) are executed concurrently than the value of pd_max_users, processing exceeding the value of pd_max_users might be concentrated on the dictionary server. In this case also, the maximum number of processes appropriate to the concentration level of processing should be specified.

#1: When the pd_max_dic_process operand is omitted, the value of the pd_max_users operand in the system common definition is assumed.

#2: When the pd_max_bes_process operand is omitted, the value of the pd_max_users operand in the system common definition is assumed.

(b) Operand for specifying the number of resident processes

The number of server processes generated during HiRDB startup (that is, the number of resident processes) is determined by the value of the pd_process_count operand.

If there will be many processing requests in the system, setting the number of resident processes to a large value will enable all processing to be started immediately. If the number of resident processes is set to a small value and more processing requests are issued than there are resident processes, HiRDB will process the requests by starting as many server processes as possible up to the specified maximum number of active processes. In this case, processing cannot be started until these processes have started. However, when the number of resident processes is set to a larger value, more memory is required in order to keep server processes always active. Therefore, the number of resident processes should be set to an appropriate value taking into account the concentration level of processing and the required memory size.

(2) Procedures for changing the number of server processes

The following two methods are available for changing the number of server processes:

(a) Changing with the pdchprc command

You can use the pdchprc command to change the maximum number of active processes and the maximum number of resident processes. However, changing the number of processes with the pdchprc command is temporary; such a change remains in effect only until HiRDB is stopped or until the pdchprc command is executed again.

(b) Changing with HiRDB system definitions

You can also change the number of server processes by directly changing the values in the operands listed in Table 9-2 Operands for specifying the maximum number of active processes and in the pd_process_count operand. Note, however, that before you can change a value in an operand listed in Table 9-2 Operands for specifying the maximum number of active processes, you must either terminate HiRDB normally or perform a planned termination. If you change a value in an operand shown in Table 9-2 Operands for specifying the maximum number of active processes after HiRDB has been terminated forcibly or after HiRDB has terminated abnormally, an error will occur when you attempt to restart HiRDB and HiRDB will not restart. This does not apply to changing only the value in the pd_process_count operand.

Use of the system reconfiguration command (pdchgconf command) enables you to modify HiRDB system definitions while HiRDB is running. Note that HiRDB Advanced High Availability must be installed in order to use this command. For details about changing HiRDB system definitions while HiRDB is running, see 9.2 Modifying HiRDB system definitions while HiRDB is running (system reconfiguration command).

(3) Examples of operation when the number of server processes is changed

The pdchprc command can be used during HiRDB operation to change temporarily the maximum number of active processes and the number of resident processes. Examples are provided below.

(a) Reducing the number of server processes for batch processing

After online applications have terminated, this example reduces temporarily the number of resident server processes during night-shift batch processing. Processing requests are issued concurrently during online application processing, but because there should be no such concurrent processing requests during night-shift batch processing, there is no need to keep many server processes active. It should be sufficient to activate only as many server processes as are required by night-shift batch processing.

The following figure shows the procedure for reducing the number of server processes for batch processing.

Figure 9-2 Reducing the number of server processes for batch processing

[Figure]

(b) Reduced system operation in a mutual system switchover environment

In a mutual system switchover environment, it is possible after system switchover occurs for multiple HiRDBs to be running on a single server machine, resulting in a temporary increase in memory usage. An increase in memory usage of this type can be minimized by using the pdchprc command to reduce the number of HiRDB server processes.

The following figure shows the procedure for achieving reduced system operation in a mutual system switching environment.

Figure 9-3 Reduced system operation in a mutual system switching environment

[Figure]

(4) Notes (applicable to HiRDB parallel server configurations only)

Problems might result if the pdchprc command is used to set the maximum number of server processes to 0. For example, when the maximum number of server processes is set to 0 for a front-end server that is located in the same unit as the system manager, the following utilities can no longer be executed: