Performance tuning

Detailed information for tuning the various parameters for optimum performance of the IBM Verify Identity Governance - Container.

Overview

As an administrator, you should monitor the performance of IBM Verify Identity Governance - Container and based on your observations, tune the various parameters of the system.
Important: The performance tunings suggested in this topic are only guidelines and recommendations. You must apply the settings based on your individual system setup and requirements.
Note: Depending on your system configuration, some of the parameters listed in this topic may not be available or may not be editable.

IBM DB2

Using performance tuning scripts

Visit this Support page.

Download the scripts perftune_reorg.sh and perftune_runstats.sh

Run these scripts against the DB2 database used by the IVIG.

On systems that run DB2 Universal Database, you might benefit from enabling auto-resize on your table spaces. Although enabled is the default setting, verify that you have auto-resize enabled.

Issue the command: db2 get snapshot for tablespaces on itimdb

Look for the "Auto-resize enabled" line in the output.

WebSphere Liberty

JDBC Connections Pool Size

Default value is 70.

You can add the environment value as DB2_MAX_POOL_SIZE in the Statefulset and it will be picked up by the IBM Verify Identity Governance - Container system.

ISVD

Performance tuning guidelines for IBM Security Verify Directory (ISVD).
Using performance tuning scripts

Visit this Support page.

Download the scripts perftune_reorg.sh and perftune_runstats.sh

Remove the variables IBMSLAPD_USE_SELECTIVITY and LDAP_MAXCARD  from ibmslapd.conf file. Restart the ibmslapd.

Run these scripts against the database used by the ISVD.

Database tuning using YAML file

You can specify how the IBM DB2 or Postgres pool should work by adding several settings to the 300-statefulset-isvgim.yaml file. Some suggested settings are listed below.
Note: Note that these settings are only provided as suggestions and should be tested before deploying them in a production environment.
IBM DB2


DB2_AGED_TIMEOUT=${DB2_AGED_TIMEOUT:--1}
DB2_MAX_POOL_SIZE=${DB2_MAX_POOL_SIZE:-70}
DB2_MIN_POOL_SIZE=${DB2_MIN_POOL_SIZE:-5}
DB2_MAX_IDLE_TIME=${DB2_MAX_IDLE_TIME:-1800s}
DB2_SSL_CONNECTION=${DB2_SSL_CONNECTION:-"false"}
DB2_CONNECTION_TIMEOUT=${DB2_CONNECTION_TIMEOUT:-180s}
DB2_REAP_TIME=${DB2_REAP_TIME:-180s}
DB2_RETRY_INTERVAL=${DB2_RETRY_INTERVAL:-30s}
DB2_MAX_RETRIES=${DB2_MAX_RETRIES:-10}
DB2_ENABLE_FAILOVER=${DB2_ENABLE_FAILOVER:-2}
DB2_PORT_ALT=${DB2_PORT_ALT:-"50000"}
DB2_HOST_ALT=${DB2_HOST_ALT:-"none"}

Postgres


PG_AGED_TIMEOUT=${PG_AGED_TIMEOUT:-1800}
PG_CONNECTION_TIMEOUT=${PG_CONNECTION_TIMEOUT:-180}
PG_MAX_IDLE_TIME=${PG_MAX_IDLE_TIME:-180}
PG_REAP_TIME=${PG_REAP_TIME:-1800}
PG_MAX_POOL_SIZE=${PG_MAX_POOL_SIZE:-50}
PG_MIN_POOL_SIZE=${PG_MIN_POOL_SIZE:-5}

Here, you have the script parameter followed by the name of the environment variable and its default value.

To add these settings, perform the following steps.
  1. Navigate to the /helm/templates directory, and open the 300-statefulset-isvgim.yaml file in a text editor.
    Note: Ensure that you are editing the /helm/templates/300-statefulset-isvgim.yaml file and not the /yaml/300-statefulset-isvgim.yaml file as it is overwritten during the upgrades.
  2. In the env section of the IVIG Container definition, add the one or more entries as shown in the following example snippet.
    
      env:
      - name: PG_MIN_POOL_SIZE
        value: "5"
    
  3. Save the changes and close 300-statefulset-isvgim.yaml file.