IBM Security Directory Server, Version 6.3.1

Advanced tuning mode

You can use the performance tuning tool to run advanced tuning on a directory server with the values set in the property files.

For the advanced tuning, you must configure the directory server and populate the server with entries. To obtain better values to tune, you must ensure that the directory server is servicing client requests for some time. You can run the idsperftune tool against a server on which no operations are run to obtain values for basic or advanced tuning mode. In advanced tuning mode, when you set the DB2® monitor switches to ON it initiates data collection. You can use the data to tune DB2. To set DB2 monitor switches to ON, you must run the idsperftune command with the -m parameter. If you want tune the server that is loaded with a typical workload, you must run idsperftune with the -A and -m parameters. This command sets the DB2 monitor switches to ON and then waits for some minutes before it collects the statistics. The tuning is based on the workload you ran against the server before you collected the DB2 monitor information. You can also set the DB2 monitor switches to OFF by running the idsperftune command with the -o parameter. You can run idsperftune with the appropriate advanced tuning options to monitor different DB2 parameters. For more information about theidsperftune tool, see IBM® Security Directory Server Version 6.3.1 Command Reference.

You can monitor the following DB2 parameters at server run time:

PCKCACHESZ
The PCKCACHESZ parameter is allocated out of the database shared memory. It is used for caching of sections for static and dynamic SQL and XQuery statements on a database.
LOGFILSIZ
The LOGFILSIZ parameter defines the size of each primary and secondary log file. The size of these log files limits the number of log records that can be written before they become full.
LOGBUFSZ
The LOGBUFSZ parameter specifies the amount of the database heap (defined by the dbheap parameter). You can use the parameter as a buffer for log records before you write these records to disk.
SORTHEAP
The SORTHEAP parameter defines the maximum number of private memory pages to use for private sorts. It also defines the maximum number of shared memory pages to use for shared sorts.
MAXFILOP
The MAXFILOP parameter specifies the maximum number of file handles that can be opened for each database agent.
DBHEAP
The DBHEAP parameter specifies the maximum memory that is used by the database heap.
CHNGPGS_THRESH
The CHNGPGS_THRESH parameter specifies the percentage of changed pages at which the asynchronous page cleaners start.
NEWLOGPATH
The NEWLOGPATH parameter specifies the location where the log files are stored. The path must not be more than 242 bytes in length.

When you run the idsperftune tool, it checks whether the self-tuning memory is enabled. When you run idsperftune with the -A and -u parameters, the tool enables the self-tuning memory if it is disabled. Self tuning memory sets the values for memory configuration parameters automatically and buffer pools size. When the self-tuning memory is enabled, the memory tuner dynamically distributes available memory resources among several memory consumers. The memory consumers include the sort, package cache, lock list areas, and buffer pools.

The idsperftune tool checks if DB2 parameters, such as SELF_TUNING_MEM, AUTO_MAINT, AUTO_TBL_MAINT, and AUTO_RUNSTATS, are set to ON. When you run idsperftune with the -A and -u parameters, then these parameters are automatically set to ON if the values of the variables are OFF. The AUTO_TBL_MAINT parameter is the key parameter for other table maintenance parameters (AUTO_RUNSTATS, AUTO_STATS_PROF, AUTO_PROF_UPD, and AUTO_REORG). To enable AUTO_MAINT, the AUTO_TBL_MAINT parameter must be set to ON.

The idsperftune tool also checks for DB2 parameters, such as LOCKLIST, NUM_IOSERVERS, and NUM_IOCLEANERS, are set to AUTOMATIC. When you run idsperftune with the -A and -u parameters, then these variables are set to AUTOMATIC.

Table 1. DB2 parameters with their type and values
DB2 parameters Type Value in the perftune_stat.log file
NUM_IOCLEANERS AUTOMATIC AUTOMATIC / Numeric value
NUM_IOSERVERS AUTOMATIC AUTOMATIC / Numeric value
LOCKLIST AUTOMATIC AUTOMATIC / Numeric value
SELF_TUNING_MEM AUTOMATIC ON / OFF
AUTO_MAINT AUTOMATIC ON / OFF
AUTO_RUNSTATS AUTOMATIC ON / OFF
AUTO_TBL_MAINT AUTOMATIC ON / OFF
IBMDEFAULTBP AUTOMATIC AUTOMATIC
LDAPBP AUTOMATIC AUTOMATIC

To monitor DB2 parameters SORTHEAP, MAXFILOP, DBHEAP, CHNGPGS_THRESH, NUM_IOSERVERS, and NUM_IOCLEANERS, you must enable monitor switches BUFFERPOOL and SORTHEAP. To enable the monitor switches, run the idsperftune tool with the -m parameter. DB2 collects more run time data when you set the monitor switches. However, enabling these monitor switches might negatively affect the performance of a directory server. If you do not set monitor switches BUFFERPOOL and SORTHEAP, then the status of these parameters is set to "Not Collected" in the perftune_stat.log file. If you enable monitor switches, then the suggested values are updated for the parameters in the log file.

When the idsperftune tool updates the directory server and DB2 configuration parameters, it stores the previous values in the perftune_stat.log file. The initial values that existed in the file are recorded under the INITIAL TUNING PARAMETER VALUE section with the prefix I_. For example, I_MAXFILOP. When the tool updates any DB2 configuration settings, the previous values are stored under the OLD DB2 PARAMETER VALUE section with the prefix O_. For example, O_LOGFILSIZ.

The idsperftune tool determines the values for DB2 parameters and lists in the following format:

<DB2 parameters>=<Current Value>:<Recommendation>

The parameter might be updated with one of the following values:

<Not Collected>|<OK>|<Increase>|<Decrease>

For example, the idsperftune tool suggests increasing the value that is set in the PCKCACHESZ parameter.

PCKCACHESZ=1533:Increase

With this input, you can find the current value and the action you must take.

The description of the DB2 parameters status is listed.

Not Collected
Specifies that the value of DB2 parameter is not monitored.
OK
Specifies that the value currently set for the DB2 parameter is optimal.
Increase
Specifies that the value of DB2 parameter must be increased to achieve optimal performance.
Decrease
Specifies that the value of DB2 parameter must be decreased to achieve optimal performance.

Examples

Example 1:
To retrieve advanced tuning values without setting the monitor switches to ON, run the idsperftune command with the following parameters:
idsperftune -I instance_name -A
Example 2:
To set monitor switches to ON for DB2 parameters, run the idsperftune command with the following parameters:
idsperftune -I instance_name -m
Example 3:
To set monitor switches to OFF for DB2 parameters, run the idsperftune command with the following parameters:
idsperftune -I instance_name -o
Example 4:
To update the database with the suggested DB2 parameter values without setting the monitor switches to ON, run the idsperftune command:
idsperftune -I instance_name -A -u
Example 5:
To obtain advanced tuning recommendations with the monitor switches set to ON, run the idsperftune command:
idsperftune -I instance_name -A -m
After the idsperftune command completes the operation, the monitor switches are set to OFF.
Example 6:
To update the database with the suggested DB2 parameter values with the monitor switches set to ON, run the idsperftune command:
idsperftune -I instance_name -A -u -m
After the idsperftune command completes the operation, the monitor switches are set to OFF.


Feedback