Optimizing Remedy Smart Reporting performance
Planning for performance based on your deployment infrastructure
Multiple deployment options are available to achieve optimal performance for Remedy Smart Reporting. For information about the available options, see Remedy Smart Reporting deployment.
Setting data restrictions at multiple levels
Restricting the data to display and governing reporting requests ensures that performance issues do not arise for other components of Remedy AR System when using Remedy Smart Reporting. Data restrictions are applied in the following order:
- Remedy AR System restrictions
- Remedy Smart Reporting data source restrictions
- Remedy Smart Reporting view-level restrictions
- Remedy Smart Reporting report-level restrictions
- Remedy Smart Reporting data source connection restrictions
You can configure the following options to manage the performance of Remedy Smart Reporting and Remedy AR System server:
- To configure data source connection restrictions on Remedy Smart Reporting
- To configure view-level restrictions for data to be displayed
- To configure Remedy AR System for setting restrictions on Remedy Smart Reporting data
- To configure the data connection limit on Remedy Smart Reporting
To configure data source connection restrictions on Remedy Smart Reporting
- Log in to Remedy Smart Reporting as an administrator.
- Select Administration > Admin Console.
- Open the Data Sources panel.
- Click the connection.
- On the Connection page, open the Connection Pool panel.
- To optimize data source connections, complete the following steps:
In the Min Connections and Max Connections fields, enter values to designate the number of connections to use from within a connection pool.
Consider the following example:
When you set the maximum connections to 5, only 5 connections will be allowed. When a user accesses a report, one connection is used. However, if a user accesses a Dashboard that lists three reports, three connections are used. Set the value of Max Connections to restrict the number of connections that Remedy Smart Reporting can use. When the maximum number of connections is reached, other users cannot access the source until these reports have completed processing.- In the Refresh Time field, enter the time (in hours) after which database connections are refreshed.
The refresh recycles the connections after the set period. Recycling ensures that no connections are stale or left open even though the user is no longer using them. - In the Timeout field, enter the time (in seconds) allowed for the SQL statement to return results.
The value defined should be able to accommodate the queries run against the data source.
- To configure restrictions for Remedy Smart Reporting query results, complete the following steps:
- Open the Usage Parameters panel.
- Turn on the Max Rows Returned toggle.
- In the Max Rows Returned field, enter the maximum numbers of query results you want returned.
- Open the Usage Parameters panel.
- Click Save.
To configure view-level restrictions for data to be displayed
Define view-level data restrictions for specific modules that are expected to return a large number of records. For example, if your change management reports are not expected to return many records, but your incident reports will return many records, you can define view-level settings for the Incident Management view.
- In Remedy Smart Reporting, open a view in Edit mode.
- Click the View Options icon (
) in the toolbar.
- Open the Performance panel, modify the View Row Limit parameter.
This parameter sets the limit for rows returned from the database.
To configure Remedy AR System for setting restrictions on Remedy Smart Reporting data
- Log in to Remedy IT Service Management.
- Select Applications > AR System Administration> AR System Administration Console.
- Select System > General > Server Information.
- On the Configuration tab of the Server Information page, modify the value of the Max entries returned by GetList field.
This field sets a row limit for any query sent using the JDBC driver.
To configure the data connection limit on Remedy Smart Reporting
Configure the Remedy Smart Reporting Connection settings to define restrictions on the data connection to the Remedy AR System server. The Custom Parameters for the Remedy Smart Reporting data connection settings allows you to control the data returned from the Remedy AR System server depending on expected volume of data being retrieved for Remedy Smart Reporting.
- Log in to the Remedy Mid Tier as the Reporting Administrator, and launch the mid tier.
- Open the Remedy Smart Reporting console.
- Select Administration > Admin console > Data sources.
- Open the AR System data source.
- On the Connection panel, update the row limit in the Custom Parameters field, such as mode=new;refreshCache=60;rowLimit=10000.
- Click Test Connection.
- Save your settings.
Additionally, you can also restrict the number of rows that can be retrieved from the Remedy AR System database by using the CCS parameter named Jdbc-Row-Limit. The default value of this parameter is 10,000. However, an administrator can change this value as required based on the data volume.
When retrieving records from the database, the lower value of either the Jdbc-Row-Limit parameter defined in AR System or rowLimit parameter defined in Remedy Smart Reporting is considered. For example, if Jdbc-Row-Limit has value 5000 and rowLimit has value 3000, then the maximum number of rows that will be retrieved from the database is 3000. Similarly, if Jdbc-Row-Limit has value 4000 and rowLimit has value 5000, then the maximum number of rows that will be retrieved from the database is 4000.
See the following table for more examples of how you can use the row_limit and Jdbc_Row_Limit parameters to control the maximum number of records retrieved from the database:
row_limit | Jdbc_Row_Limit | Maximum number of records retrieved |
---|---|---|
5000 | Not Defined | 5000 |
5000 | 3000 | 3000 |
Not Defined | 3000 | 3000 |
5000 | 7000 | 5000 |
5000 | 1000 | 1000 |
For more information, see Centralized configuration .
List of recommended parameter values
For optimized performance, we recommend setting the following values for different parameters as required.
Parameter | Description | Minimum/default value | Maximum value |
---|---|---|---|
JDBCMaxCount | Maximum number of connections to the Smart Reporting database. | 25 | 300 |
JDBCMinCount | Minimum number of connections to the Smart Reporting database. | 2 | 50 |
JDBCTimeout | Timeout of JDBC Connections in seconds. | 300 | 1800 |
JDBCRecycle | JDBC Connection refresh or recycle time. | 10800 | NA |
JDBCFetchSize | Default Fetch size for connecting to the Smart Reporting configuration database. | 1000 | NA |
JDBCVerify | Checks the Smart Reporting database connection by returning the schema. | TRUE | NA |
JDBCNoLock | Applies NO LOCK to some database queries when using MS SQL Server. | TRUE | NA |
PSCacheSize | Number of Prepared Statements to cache per connection (maximum). | 20 | NA |
IsolationLevel | Isolation Level for connecting to the Smart Reporting configuration database. | Serializable | NA |
DisableHeatBeat | Disables heartbeat (periodic queries) against the Repository database. | FALSE | NA |
ReportCacheSize | Size of report result set cache in bytes. | 20 | 20 |
ReportCacheMaxAge | The maximum age of result sets in the report result cache in milliseconds. | 86400000 | 86400000 |
ImageCacheMaxBytes | Maximum size of image memory cache in bytes. | 52428800(50 MB) | 52428800(50 MB) |
ReportDefinitionCacheSize | Number of result sets to store in the report result cache. | 1000 | |
ReportDefinitionCacheTimeout | Maximum time in milliseconds to store a report definition in the cache | 86400000 | |
GeometryCacheSize | Defines how many items are allowed in the cache. GeometryCache is initialized with this size. The default size is 4000. | 4000 | |
DashboardDefinitionCacheSize | Number of definitions that can be stored in the cache. | 1000 | |
DashboardDefinitionCacheTimeout | Maximum timeout in milliseconds for an element in this cache. | 86400000 | |
TranslationCacheSize | This specifies how many translation objects should be cached in memory. | 5000 | |
TranslationCacheMaxAge | Maximum timeout in milliseconds for an element in this cache. | 86400000 | |
CachedFilterCacheMethod | Filter methods for data stored in cache. You can specify one of the following values for CachedFilterCacheMethod: NO_CACHE: No memory caching. Data is loaded from the database each time an hierarchy is requested. | CACHE_BY_USER | |
CachedFilterCacheSize | Number of cached filter entries that can be stored in the cache. Unless source substitution or source filters are in use, their is one entry per filter hierarchy. If source substitution or source filters are in use, their may be one entry per user, or source filter value depending on the cache method. Each entry stores the available values for each filter in the hierarchy. | 100 | |
CachedFilterCachePeriod | Maximum timeout in milliseconds for an element in this cache. | 86400000 | |
ExecutionQueueConcurrentTasks | Number of reports that can be run concurrently. | 10 | |
ExecutionQueueInitialWaitTime | Duration in seconds for which the server will wait to finish a report before the client shows the delivery popup and starts polling. | 5 | |
ExecutionQueueMaximumExecutionTime | Maximum time in minutes the reports can run in the execution queue before they are terminated. | 240 | |
DisableTaskScheduler | Indicate whether the task scheduler is active. | FALSE | |
DisableTaskSchedulerPolling | Set to allow or prevent a node from becoming a Master node. | FALSE | |
TaskSchedulerThreads | Number of tasks that can run concurrently. | 5 | |
TaskSchedulerMaxThreadQueue | Maximum number of tasks allowed to wait to be executed, if all threads are currently being used. If the value is set below the number of threads, the system will always allocate at least the same number of slots in the queue as the number of threads. | 20 | |
MaxThreadsPerTransformationPreviewJob | Number of threads that will be available for each Data Transformation Flow, for internal processing in Preview (edit) mode. | 2 | |
MaxBackgroundTransformationThreads | Number of threads that will be available for all Data Transformation Flows, for internal processing during background execution. | 2 |
Where to go from here