CMDB Visualizer Resource Management and Performance Tuning

This article describes how CA SDM Administrators can manage CMDB resources (like database connection, user-sessions, nodes, data retrieval, configurations and so on) and thereby, optimizing the performance of CMDB. To change the default configurations, open the
application.conf
file from where you have installed CMDB:
Web-INF/classes/application.conf
.
Few of these attributes that Administrators can change in the
application.conf
file  are explained below:
  1. app
    :
    1. name
      = "CMDB Visualizer"
      Specifies the name of the application in log file. for example, CMDB Visualizer.
      This string only shows up in the log files and is not intended for Customization.
    2. sessionTimeout = 60 (in minutes)
      :
      Specifies the user idle time for logged-in user in the visualizer app before the session times out. Session timeout is specified in minutes.
    3. expirationCheckInterval
      = 5
      Interval time (in minutes) to check for expired sessions. Expired sessions will not be logged out at the exact time but instead when the expiration check interval is reached.
      The recommended value is
      5
      minutes. Anything less than this value impact system performance, so this value must be changed judiciously. This value will add up with the timeout value (max time lag).
  2. Graph Node Configurations
    : This is a Configuration Item (CI). Specifies the following values to be applied to a CMDB Graph Node.
    1. filter = "inactive=0"
      Specifies the filter to be applied while fetching the nodes and is applied only during initial loading when index-based loading is disabled.
      When system starts up we preload some CMDB graph nodes data into cache and this is a filter condition to filter out what nodes will be part of pre-load data. If '
      indexBasedLoading
      ' is '
      on
      ', this value is ignored.
    2. maxFetchSize = 1000
      Specifies maximum number of records in a single query during initial load. During system starup, the database query is split for node initial load based on this value.
    3. indexBasedLoading = off
      To persist the most used Nodes data, so that system restart can pre-load these nodes.
      This requires the
      indexFilePath
      value to be configured by Administrators. Ensure that the file exists.
    4. Index File Path
      : Complete path must be provided, relative path does not work. For example: indexFilePath = "C:\\Program Files (x86)\\CA\\Service Desk Manager\\site\\nodes.index". To be configured by administrators and they need to make sure that the file exists.
    5. maxIndexEntries = 100000
      Maximum number of nodes in the index file '. The maximun number of nodes that will be persisted to thendexFilePath' file
    6. indexFileWriteInterval = 30
      Specifies the interval to write the cached ID values to index file (in Minutes). It is frequency of writing the nodes data to the 'indexFilePath' file.
    7. maxNodeLoadOnStartUp = 100000
      Specifies the maximum number of nodes to load into cache on system startup. if 'indexBasedLoading' is 'on' then this value will be ignored.
  3. sdm.domsrvr.viz = domsrvr
    Specifies the domsrvr list to connect to Visualizer. If the number of active visualizer users are more than the specified supported user count per domsrvr. For example: If a single domsrvr supports 75 Visualizer Analysts, you get a better response . If you plan to use more than 150 Visualizer Analysts, then you need two domsrvrs (specify with comma separated values).
    Domsrvr configured in this variable must be local to that machine. For all SDM servers "domsrvr" is local except in case of secondary servers.
  4. sdm.log4jRefreshInterval = 300000 (in milliseconds)
    Specifies the time interval value to check for log level changes for Slump logging. Value is specified in seconds.
  5. db
    : Contains database details.
    1. defaultDB = "default"
      Do not change this value, else system will fail to start.
    2. maxFetchSize = 100000
      Maximum number of records that can be fetched from the database in a single query. It can be fine tuned as appropriate.
      However, It is not recommended to change this value
      .
    3. inClausePlaceHonderCount = 1000
      Maximum number of items to be part of
      IN CLAUSE
      when fetching data from database .
    4. initialPoolSize = 8
      Number of active database connections to be used by Visualizer during system startup.
    5. maxPoolSize = 12
      Maximum number of active database connections to be used by Visualizer (can be increased or decreased based on data load requirements).
    6. cleanupSchedulerInterval = 15 (minutes)
      Frequency to check for idle database connections for cleanup.Value is specified in minutes.