Performance tuning

Learn about performance tuning for the IBM MobileFirst™ Platform Operational Analytics.

Java™ virtual machine (JVM) swapping

The underlying technology that is used by the IBM MobileFirst Platform Operational Analytics is called Elasticsearch. Elasticsearch performs poorly when the JVM starts swapping. To ensure that the JVM never swaps, the following JNDI property can be set to true:
<jndiEntry jndiName="analytics/bootstrap.mlockall" value="true" />

Setting the Field Cache Size

The underlying technology used by the analytics platform loads several field values into memory to provide fast access to those documents. This is known as the field cache. By default, the amount of data loaded into memory by the field cache is unbounded. If the field cache becomes too large, it can cause an out of memory exception and crash the analytics platform. You can put an upper limit on the field cache to prevent this from happening. The field cache can be set using the following JNDI property:
<jndiEntry jndiName="analytics/indices.fielddata.cache.size" value="80%"/>
<jndiEntry jndiName="analytics/indices.fielddata.cache.size" value="10GB"/>
Note: The field cache can be set using a hardcoded value (such as 10GB) or it can be set to a percentage of the heap (such as 80%).
Placing an upper limit on the cache will prevent the field cache from causing an out of memory exception. However, when the limit is reached, the analytics platform will begin to take longer to perform search queries. At this point, you can either add additional memory to your machine or add an additional node to your cluster.