You are here

Configuring a large scale Analytics environment

If you are running complex reports, or reports that include a large dataset, you can configure your settings to prevent reports from timing out.

When you run a report, it generally completes within 60 seconds and by default, reports time out after 60 seconds. If you run a very complex report, it can time out before completing, or if the dataset being used for a report is very large, it might not fit into the allocated memory.

To customize report settings, review:
  • Minimum memory
  • Mondrian values, located in ba-server/pentaho-solutions/system/mondrian/mondrian.properties
  • JVM values, located in ba-server/start-pentaho.sh
We provide four report groups (small, medium, large, and extra large), to help you judge your report generation requirements. To determine which group to use:
  1. Multiply the dimensions used in the report (see the example for more information).
  2. Use this number as your mondrian.result.limit value, as specified in ba-server/pentaho-solutions/system/mondrian/mondrian.properties.
  3. Pick the group and settings that define the closest mondrian.result.limit value.
  1. Small. These are the default settings.
    • Memory: 8 GB RAM
    • Mondrian values:
      mondrian.result.limit=4000000
      mondrian.rolap.cellBatchSize =4000000
      mondrian.rolap.iterationLimit=4000000
      mondrian.rolap.queryTimeout=60
      mondrian.util.memoryMonitor.enable=true
      mondrian.util.memoryMonitor.percentage.threshold=90
    • JVM values:
      -Xmx6G -Xms1024m  -XX:MaxPermSize=256m
      -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
  2. Medium
    • Memory: 16 GB RAM
    • Mondrian values:
      mondrian.result.limit= 12000000
      mondrian.rolap.cellBatchSize = 12000000
      mondrian.rolap.iterationLimit= 12000000
      mondrian.rolap.queryTimeout=180
      mondrian.util.memoryMonitor.enable=true
      mondrian.util.memoryMonitor.percentage.threshold=90
    • JVM values:
      -Xmx14G -Xms1024m  -XX:MaxPermSize=512m
      -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
  3. Large
    • Memory: 24 GB RAM
    • Mondrian values:
      mondrian.result.limit= 22000000
      mondrian.rolap.cellBatchSize = 22000000
      mondrian.rolap.iterationLimit= 22000000
      mondrian.rolap.queryTimeout= 600
      mondrian.util.memoryMonitor.enable=true
      mondrian.util.memoryMonitor.percentage.threshold=90
    • JVM values:
      -Xmx22G -Xms1024m  -XX:MaxPermSize=512m
      -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000
  4. Extra Large
    • Memory: 24 GB RAM
    • Mondrian values:
      mondrian.result.limit=0
      mondrian.rolap.cellBatchSize=500000000
      mondrian.rolap.iterationLimit=0
      mondrian.rolap.queryTimeout=0 
      mondrian.util.memoryMonitor.enable=true
      mondrian.util.memoryMonitor.percentage.threshold=90
      Setting a value of 0 in these properties removes limits and timeouts completely. Consider the impact that this might have on other concurrent processes running on the Analytics server.
    • JVM values:
      -Xmx22G -Xms1024m  -XX:MaxPermSize=1024m
      -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000

These report groups are given for guidance only, and you can set memory, Mondrian, and JVM settings to whatever best suits your environment.

For more information about these settings, see Configuring the Mondrian Engine for Large Data Warehouses.

Example for calculating the report group

Your report might use three dimensions: events, event types and sites:
mondrian.result.limit = number_of_events x number_of_event_types x number_of_sites
If there are 100 000 events, 8 event types and 30 sites:
mondrian.result.limit = 100000 x 8 x 30
the guidance specifies that the mondrian.result.limit value should be 24 000 000.

The closest report group is Large, which specifies a mondrian.result.limit value of 22 000 000. The memory, Mondrian and JVM settings for this group should be acceptable for most reports generated in this environment.