Hitachi

Hitachi Advanced Database Setup and Operation Guide


6.24.3 Relationship between the number of connections and the number of processing real threads that are used by the client-group facility

This subsection explains by way of examples the relationship between the number of connections and the number of processing real threads that are used by the client-group facility.

Organization of this subsection

(1) Example 1: Specifying the maximum numbers of connections and processing real threads that can be used

This example uses the client-group facility and specifies the maximum number of concurrent connections for each group and the maximum number of processing real threads usable by each group.

By specifying the maximum number of concurrent connections for each group and the maximum number of processing real threads usable by each group, you can prevent a specific group from monopolizing connections and processing real threads.

Figure 6‒11: Example where the maximum numbers of connections and processing real threads that can be used are specified

[Figure]

Explanation:
  • Each group uses connections based on the maximum number of concurrent connections specified for that group. No group can use beyond the maximum number of concurrent connections that has been set for it. This prevents any one group from using all connections. The same applies to the number of processing real threads.

    In this example, the maximum number of concurrent connections available to client01 is 15, and the maximum number of processing real threads usable by this group is 30 (client01 will not use all the available connections and processing real threads).

  • As in this example, if one group's maximum number of concurrent connections partially overlaps another group's maximum number of concurrent connections, the actual number of connections in the overlapping part that are available to one group depends on the number of connections being used by the other group. For example, if client group client01 is using 13 connections, 7 connections are available to client group client02.

    The same applies when the maximum number of processing real threads that can be used by one group overlaps the maximum number of processing real threads that can be used by another group.

  • This example does not specify a guaranteed minimum number of concurrent connections for each client group (0 is specified as the guaranteed minimum number of concurrent connections). Therefore, while client groups client01 and client02 are not using connections, the HADB clients and commands that belong to no group can use the connections. While HADB clients and commands that belong to no group are using the connections, each group might not be able to use the maximum number of concurrent connections allocated to it. The same applies to the number of processing real threads.

The following shows an example specification of the client groups specified in this example.

■ Example specification of the adbcltgrp operand in the server definition
adbcltgrp -g client01 -m 15 -u 0 -r 30 -e 0
adbcltgrp -g client02 -m 10 -u 0 -r 10 -e 0
■ Example specification of the adb_clt_group_name operand in the client definition (that will belong to client group client01)
adb_clt_group_name = client01
■ Example specification of the adb_clt_group_name operand in the client definition (that will belong to client group client02)
adb_clt_group_name = client02
Note

(2) Example 2: Specifying the guaranteed minimum numbers of connections and processing real threads

This example uses the client-group facility and specifies the maximum number of concurrent connections for each group, the guaranteed minimum number of concurrent connections for each group, the maximum number of processing real threads usable by each group, and the guaranteed minimum number of processing real threads usable by each group.

By specifying the maximum number of concurrent connections for each group and the maximum number of processing real threads usable by each group, you can prevent a specific group from monopolizing connections and processing real threads. In addition, if you specify a guaranteed minimum number of concurrent connections for each group and a guaranteed minimum number of processing real threads usable by each group, the local group will not be affected by other HADB clients.

Figure 6‒12: Example where the guaranteed minimum numbers of connections and processing real threads are specified

[Figure]

Explanation:

The command command group can always acquire one connection, in accordance with the specified maximum number of concurrent connections and the guaranteed minimum number of concurrent connections. Therefore, the HADB clients belonging to command will not be affected by the HADB clients that do not belong to command. Client group client01 uses connections according to a specified maximum number of concurrent connections.

In addition, the command command group always allocates five processing real threads in accordance with the specified guaranteed minimum number of processing real threads. This example specifies 10 as the maximum number of processing real threads for command. Therefore, a maximum of five processing real threads are available to command if there are any processing real threads that are not in use by client01.

Note that if connections and processing real threads are not used by command and client01, the HADB clients that belong to no group can use a maximum of 9 connections and a maximum of 35 processing real threads.

The following shows an example specification of the client groups and command groups specified in this example.

■ Example specification of the adbcltgrp operand in the server definition
adbcltgrp -g client01 -m 9 -u 0 -r 35 -e 0
adbcltgrp -g command -m 1 -u 1 -r 10 -e 5
■ Example specification of the adb_clt_group_name operand in the client definition (that will belong to the client01 client group)
adb_clt_group_name = client01
■ Example specification of the adb_clt_group_name operand in the client definition (that will belong to the command command group)
adb_clt_group_name = command
Note