IBM Support

Tuning the configuration cache for IBM Rational DOORS Next Generation

Technote (troubleshooting)


Problem(Abstract)

Users running IBM Rational DOORS Next Generation version 6.0 to version 6.0.3 may experience slow performance executing common use cases.

Symptom

Users may experience poor performance or timeout warnings when performing common use cases within the application.


Cause

Configuration caches may need to be adjusted from their default levels to accommodate larger data sets. Please note, it is recommended to increase the JVM heap size to 16GB or higher (not to exceed 24GB) if the caches are set to a values over 1,000 as each cache entry uses up to 2MB of heap space.

Environment

DOORS Next Generation 6.0, 6.0.1, 6.0.2, or 6.0.3

Diagnosing the problem

For DOORS Next Generation 6.0, 6.0.1, 6.0.2 and 6.0.3 (up to and including 6.0.3 iFix005):


To diagnose the problem, the server must be started with the following JVM argument in place. To set the JVM parameter on WebSphere Application Server, refer to Technote 1417365. This setting can be left in place without any overhead as this is enabled by default in 6.0.3.

-Dcom.ibm.team.repository.service.internal.vvc.enableCounters=true

For Tomcat or WebSphere Liberty, the argument can be applied by adding the following line in the JVM arguments section in the startup script.


set JAVA_OPTS=%JAVA_OPTS% -Dcom.ibm.team.repository.service.internal.vvc.enableCounters=true


Once the setting is in place and the server has been started, execute several of the poor performing use cases on the system. Once complete, navigate to the following page:


https://<server>:<port>/rm/service/com.ibm.team.repository.service.internal.counters.ICounterContentService/


Search for the section called "Local Configuration Management Cache Statistics". If you see values over 50 for the "cnt" column in "ConfigurationCache" or "ConfigToConceptVersionInfoCache", apply solution 1 below. If you see values over 1000 for the "cnt" column in "ConfigToConceptVersionInfoCache", apply solution 2 below. If this is not your problem, refer to Technote 1975746 for further common performance tuning recommendations.

For DOORS Next Generation 6.0.3 iFix006 or higher (excludes 6.0.4):

For these versions it is far less likely you will need to make changes to the configuration cache. Run the following SQL query against the database to determine the number of configurations in the repository:

For SQL Server/DB2:

SELECT COUNT(*) FROM VVCMODEL.CONFIGURATION WHERE ARCHIVED = 0;

For Oracle:

SELECT COUNT(*) FROM VVCMODEL_CONFIGURATION WHERE ARCHIVED = 0;

If the result exceeds 1000, proceed to Solution 3 below.

Resolving the problem

Solution 1 (6.0, 6.0.1, 6.0.2, 6.0.3 (up to and including 6.0.3 iFix005)):

Tune the cache parameters to reflect at least the current number of configurations in the repository. If your repository is expected to grow with regard to projects/baselines/configurations, then consider setting this to a value larger than the current number of configurations. To get the current number of configurations, run the following query against the DNG database:


    For SQL Server/DB2:

    SELECT COUNT(*) FROM VVCMODEL.CONFIGURATION WHERE ARCHIVED = 0;

    For Oracle:

    SELECT COUNT(*) FROM VVCMODEL_CONFIGURATION WHERE ARCHIVED = 0;


If the result exceeds 200, set the values below to at least the current number of configurations returned by the above query. In the example below, our query returned 600 configurations. The repository is expected to grow in size so the cache is tuned higher than the current number of configurations.


-Dcom.ibm.rdm.configcache.size=800
-Dcom.ibm.team.repository.service.internal.vvc.noOfConfigsToCache=800
-Dcom.ibm.team.repository.service.internal.vvc.noOfContextsToCache=800
-Dcom.ibm.team.repository.service.internal.vvc.noOfComponentsToCache=800

Solution 2 (6.0, 6.0.1, 6.0.2, 6.0.3 (up to 6.0.3 iFix005)):


-Dcom.ibm.rdm.configcache.size=2000
-Dcom.ibm.team.repository.service.internal.vvc.noOfConfigsToCache=2000
-Dcom.ibm.team.repository.service.internal.vvc.noOfContextsToCache=2000
-Dcom.ibm.team.repository.service.internal.vvc.noOfComponentsToCache=2000
-Dcom.ibm.team.repository.service.internal.vvc.ConfigurationIdCache.noOfConfigsToCache=2000

Note: These are also set as JVM arguments. You will use the same process for setting these values as the process described at the top of the technote for setting -Dcom.ibm.team.repository.service.internal.vvc.enableCounters=true

Solution 3 (6.0.3 iFix006 and higher):

Note: The default value for these properties on 6.0.3 iFix006 and above is 1000. For 6.0.4, they are already set to 2000 by default.


-Dcom.ibm.team.repository.service.internal.vvc.ConfigurationIdCache.noOfConfigsToCache=2000
-Dcom.ibm.team.repository.service.internal.vvc.noOfConfigsToCache=2000

Document information

More support for: Rational DOORS Next Generation
General information

Software version: 6.0, 6.0.1, 6.0.2, 6.0.3

Operating system(s): Linux, Windows

Reference #: 1995500

Modified date: 30 June 2017