Performance tuning
Consider the following performance tuning recommendations for BMC TrueSight Operations Management Report Engine. The properties mentioned are present in the perfsladatatransfer.properties file, located in either of the following locations:
- (Windows) reportEngineInstallationDirectory\ReportEngine\tools\jboss\server\all\conf\
properties\perfsladatatransfer - (Solaris/Linux) ReportEngine/tools/jboss/server/all/conf/properties/perfsladatatransfer
- (Windows) reportEngineInstallationDirectory\ReportEngine\tools\jboss\server\all\conf\
- If huge data is transferred from BMC TrueSight Infrastructure Management Server to BMC 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)
- BMC TrueSight Infrastructure Management Server does not maintain soft delete. BMC 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 BMC TrueSight Operations Management Report Engine.
reportengine.pentaho.logging.level=NONE - If the time settings of the computers on which you have installed BMC TrueSight Infrastructure Management Server and BMC 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, BMC 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 BMC 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, BMC 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 BMC 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 BMC 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 |
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:
For information on the sizing chart for memory configuration, see Data-sheet.
To set the values of memory parameters manually, perform the following steps:
- Modify the following values in the wrapper.conf file located at REPORTENGINE_HOME\ReportEngine\serviceWrapper\ path:
- wrapper.java.initmemory
- wrapper.java.maxmemory
- 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.
- HighMemoryMark
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.
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>- 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 BMC 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 BMC 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 BMC 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.
- Open the STAT_TRANS.KTR file available at the <reportEngineInstallationDirectory>\ReportEngine\tools\jboss\server\all\transformations\perfjob directory using notepad.
- Navigate to the RE_STAT_DATA transformation.
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>