Tuning UI performance
Key factors that influence the performance of the user interface include selected filtering options, the number of data items that are displayed on the map, Dojo compression, and the UI refresh interval.
Filtering
Optimum filtering is critical to the good performance of database queries. The data source target tables are denormalized, and any scanning of these tables uses considerable database resources such as RAM, CPU, and disk I/O, and so negatively impacts response times.
The IBM® Intelligent Operations Center Filter window provides predefined panes for defining the date, time, and location of filtered data. You can also configure the Filter window to display dynamic panes that contain your defined data source categories. For more information about configuring data sources and filtering, see the related links.
- Last update date and time property
- The last update date and time property is the key filtering property in all IBM Intelligent Operations Center data sources and is critical for good scalable performance. It ensures that IBM Intelligent Operations Center retrieves only new records at each data source poll interval. Similarly, if you set a nonzero value for your UI refresh interval, the spatial service retrieves only records that are added or updated since the last refresh and merges them into the client-side data store. If the source for a data source does not have a natural last update date and time property, it is strongly recommended that you consider adding this property.
- Filtering by date and time
- You can filter data items by date and time by using the When pane in the Filterwindow. Careful use of time filter options is essential to ensure good query performance and to make best use of the IBM Intelligent Operations Center default date-time indexes. For example, to view data from the last day, Select Relative date range in the When pane, and select an offset, and a time unit. Or, to view historical data, select the start and end dates and times as required, it is not necessary to specify both. You can specify open-ended ranges to display data items that occur either before or after a particular date and time. The data items that are within the specified date and time range are displayed. Or, you can select Now to display data items that are within 15 minutes before and after the current time. For more information about filtering by date and time, see Filtering by date and time.
- Filtering by location
- You can filter data items according to boundary by using the Where pane in the Filterwindow. All geospatial columns in the IBM Intelligent Operations Center data source target tables are configured with a spatial index to optimize spatial filtering. A spatial index is a specially designed index for geospatial data, and is implemented as part of the DB2® spatial extender package. Spatial filtering is most effective if the current boundary area encompasses a subset of the data items from the selected data source rather than the entire data set. If your users need to encompass the entire data set in the boundary area, then the spatial index might cause performance to be worse than if there were no index at all. In such cases, careful use of date and time and custom filters are necessary to ensure good spatial service performance. For more information about spatial filtering, see Filtering by boundary.
- Custom filtering
- When you create a data source, you can configure properties as key properties and optimized for
filtering on the Key & Full Properties tab. When both the Key
property and Optimize for filtering options are selected for a
property at data source creation, IBM Intelligent Operations Center creates an index
on the corresponding column in the database. If you later configure the data source and set these
options for a property, an index is not created. In this case, you must either re-create the data
source or manually create an index for each property that you configured as a key property and
optimized for filtering after data source creation.To check whether an index is defined on a target table, use the following db2look command, where datasource_name is the name of the data source and output_file.ddl is the name of the output file:
db2look -d iocdata -t IOC.TARGET_TABLE_datasource_name -e -o output_file.ddlIf you set the Filter by option to Enumerated values for a property, make sure that theOptimize for filtering option is also selected. You might also need to select the Key property option for the property. Again, if these options are set after initial data source creation, you might need to create indexes manually. Avoid setting the filter by enumerated values option for properties that are likely to have a relatively high number of distinct values (100s or 1000s) as there might be performance issues when IBM Intelligent Operations Center generates the widget drop-down lists that are associated with the feature. Hundreds or thousands might be considered relatively high numbers in this context.
For more information, see Data source key and full property settings.
Restricting the number of data items that are displayed on the map
The StatMaxAllowedFeaturesInResponse system property sets the maximum number of data items that are returned by the spatial service. The default value is 5000. Because data items are rendered by client-side technology, 5000 is about the maximum number of point, line, or string data items that a browser can render in a reasonable time period. If the data items are predominantly polygons, a maximum of 5000 might be too high if the data items have complex geometries. Polygons cause a significantly larger payload and so lead to increased server response time. Rendering polygons on the map might also need extra processing effort from the browser. Consider reducing the value of the StatMaxAllowedFeaturesInResponse setting for such use cases.
Reducing the value of the StatMaxAllowedFeaturesInResponse system property restricts the number of data items that are returned from the server to the client, and so reduces server processing and network transport time. But, a reduced value has no effect on the performance of the query that retrieves the data items for the data source target table. This is why effective selective filtering is essential for acceptable spatial service performance.
Server-side rendering on the map
You can configure data sources so that data items that match the specified filter criteria are returned as a single image by the server-side rendering service. Rendering data items as a single image on the server is faster, and makes it possible to render more than 5000 data items on the map in a reasonable time.For more information about configuring server-side rendering for a data source, see Data source basic settings.
Dojo compression
The value of the useCompressedDojo system property is set to true by default so that the compressed version of the client modules is used. If the system property is set to false so that the uncompressed version is used, the time that is taken to render data items on the map doubles on average.
Standard Operating Procedures (SOPs)
For IBM Intelligent Operations Center version 5.1.0.11 or earlier, avoid a build-up of active SOPs in the solution. In these earlier versions, IBM Intelligent Operations Center calls a service every 30 seconds for each activity that is associated with an SOP. With many active SOPs, this might result in a high number of service calls at each refresh interval, and potentially cause significant network blocking for low-bandwidth connections. In version 5.1.0.12 or later, a single service call is made for all SOP activities at each refresh interval. While this alleviates the problem, the service is not paginated and there is still a potential scaling issue if there is 500 or more active SOPs.