Performance tuning


Consider the following performance tuning recommendations for TrueSight Operations Management Report Engine. The properties mentioned are present in the perfsladatatransfer.properties file, located in either of the following locations:


    • For Windows: reportEngineInstallationDirectory\ReportEngine\tools\jboss\server\all\conf\
      properties\perfsladatatransfer
    • Linux: ReportEngine/tools/jboss/server/all/conf/properties/perfsladatatransfer
  • If huge data is transferred from TrueSight Infrastructure Management Server to TrueSight Operations Management Report Engine, you can tune the performance by modifying the following properties:
    • reportengine.datatransfer.ratestat.chunksize=3 (in hours)
    • reportengine.datatransfer.schedule.interval=3600 (1 hour)
  • TrueSight Infrastructure Management Server does not maintain soft delete. TrueSight Operations Management Report Engine does need to maintain this information. To achieve this, delete job compares the rows in the BMC TrueSight Infrastructure Management Server database and the reporting database, and it makes delete job a little heavy operation, and hence it is by default set to run daily. You can configure the delete job interval by updating the following property as follows:

    reportengine.deleteconfigjob.schedule.interval=0 0 3 * * ? (CRON expression)
  • Pentaho logging level must be set to NONE. Setting it to Detailed, Debug, or Rowlevel can lead to memory consumption resulting in out of memory error on TrueSight Operations Management Report Engine.

    reportengine.pentaho.logging.level=NONE
  • If the time settings of the computers on which you have installed TrueSight Infrastructure Management Server and TrueSight Operations Management Report Engine are not in sync, BMC strongly recommends you to sync the time settings. If you do not plan to sync the time settings, you can configure the following:

    For stats data: reportengine.datatransfer.latency.time=2
     For configuration data: reportengine.datatransfer.config.retry.period=1 (1 hour)
  • By default, TrueSight Operations Management Report Engine does not collect history for stats data. You can enable the engine to collect the history data by modifying the following property. This property must not exceed the retention period specified for TrueSight Infrastructure Management Server performance data, which is 7 days by default.

    reportengine.datatransfer.maxhistoryretrieval.statdata.days=0 (should be less than or equal to retention period in days for Stats data as mentioned in the ConfigureRetention CLI command)
  • By default, TrueSight Operations Management Report Engine does not collect history for RATE data. You can enable the engine to collect the history data by modifying the following property. This property must not exceed the retention period specified for TrueSight Infrastructure Management Server RATE data, which is 90 days by default.

    reportengine.datatransfer.maxhistoryretrieval.ratedata.days=90 (should be less than or equal to retention period in days for Rate data as mentioned in ConfigureRetention CLI command)
  • Data retention period must be set as per the system requirements. Configuring a long period may result in the increased use of disk space and can eventually affect the performance. BMC recommends that you do not configure more than the allowed period on TrueSight Infrastructure Management Server. You can configure the following types of event, impact, and performance data using the ConfigureRetention CLI: 

Type of Data 

Retention period in days

Hourly data

90

Stats data

7

Rate data

90

Daily data

400

Config data

90

Component availability data

400

Component losses data

400

Component MTBF data

400

Component MTBSI data

400

Component MTTR data

400

Event data

400

Note

The above properties display the default retention period. You can configure them as per your requirement.

Setting memory parameters manually

If the allocated heap memory differs from the actual memory, you may face performance issues. For more information, see the following example:

Example

If the actual RAM size is 7489 MB, during installation, the installer automatically sets the minimum memory as 1200 MB and maximum memory as 2650 MB, the values recommended for a small environment, less than 8 GB RAM.

For information on the sizing chart for memory configuration, see Data-sheet.

To set the values of memory parameters manually, perform the following steps:

  1. Modify the following values in the wrapper.conf file located at REPORTENGINE_HOME\ReportEngine\serviceWrapper\ path:
    1. wrapper.java.initmemory
    2. wrapper.java.maxmemory
  2. Modify the following values in the content similar to the following code, in the websdk-jdbc2-service.xml file, located at REPORTENGINE_HOME\ReportEngine\tools\jboss\server\all\deploy-hasingleton\jms\path.  
    1. HighMemoryMark
    2. MaxMemoryMark

      <mbean code="org.jboss.mq.server.MessageCache"
              name="jboss.mq:service=MessageCache">
        <attribute name="HighMemoryMark">XXX</attribute>
         <attribute name="MaxMemoryMark">YYY</attribute>
         <attribute name="CacheStore">jboss.mq:service=PersistenceManager</attribute>
       </mbean>
        where, XXX is the HighMemoryMark value and YYY is MaxMemoryMark value.
       
      Note: The HighMemoryMark and MaxMemoryMark must be 80% and 90% value of the maximum virtual memory size specified in the wrapper.conf.


  3. Make the following changes in the REPORTENGINE_HOME\BMCProactiveNetInstalledConfiguration.xml file:

    <property>
    <name>APPSERVER_INIT_MEMORY_SIZE</name>
         <value>1200</value>
       </property>
    <property>
    <name>APPSERVER_MEMORY_SIZE</name>
         <value>2560</value>
       </property>
  4. Restart the Report Engine service. 

Scaling the performance data transfer job

To improve performance data transfer throughput of Report Engine, you must add more threads to this data transfer job. Data transfer job reads data from the TrueSight Infrastructure Management database, process the data in the Report Engine and writes into the Reporting database. You can configure thread values for reading and writing activities.

Reading activity: Data transfer from the BMC TrueSight Infrastructure Management database to Report engine

Use the reportengine.datatransfer.pentaho.job.thread.count property present in the perfsladatatransfer.properties file to define the number of threads to read data from the TrueSight Infrastructure Management database. Each thread reads one monitor type data. The default value for this property is 10. Therefore the data transfer job can read 10 monitor type data at a time. Increasing this property value can increase load on the TrueSight Infrastructure Management database.

Writing activity: Data transfer from Report engine to Reporting database

You can configure the thread value for the writing activity in the STAT_TRANS.KTR file. As reading data from database is faster than writing data to database, the default value for this configuration is set to 4. This configuration creates 4 writing threads per one reading thread. Setting the reading thread value to 10 and writing thread value to 4 creates 40 threads to write data into the Reporting database.


    1. Open the STAT_TRANS.KTR file available at the <reportEngineInstallationDirectory>\ReportEngine\tools\jboss\server\all\transformations\perfjob directory using notepad.
    2. Navigate to the RE_STAT_DATA transformation.
    3. Modify the value of copies to number of threads you want to set. The default value is 4.

          <name>RE_STAT_DATA</name>
         <type>TableOutput</type>
         <description/>
         <distribute>Y</distribute>
         <copies>4</copies>
              <partitioning>
                <method>none</method>
                <schema_name/>
                </partitioning>
         <connection>RE_DB</connection>

      Note

      You must modify the value of copies for only RE_STAT_DATA. The value of copies for other transformations in this file must be 1.

      Report Engine automatically sets its memory parameters to 80% of machine memory. Ensure that 80% of memory is available to Report Engine. If not, you need to set appropriate values to the following parameters at %BMC_PROACTIVENET_REPORT_ENGINE_HOME%\ReportEngine\serviceWrapper in the wrapper.conf file:

      # Initial Java Heap Size (in MB)
      wrapper.java.initmemory=
      # Maximum Java Heap Size (in MB)
      wrapper.java.maxmemory=

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*