cancel
Showing results for 
Search instead for 
Did you mean: 
Vicki786
Sisense Team Member
Sisense Team Member

Having difficulty with Dashboard performance

For slow-loading dashboards, you will need to consider the following:

 

  • Too Many Widgets - The best practice is to have 6 to 8 widgets per dashboard. This is due to the number of concurrent queries required to support many widgets. Here are some possible workarounds:
    • Utilize the Jump to Dashboard, Accordion, or Switchable Dimensions plugins. JTD and Accordion plugins link to external dashboards, so those widgets are not loaded when the main dashboard is, thus decreasing the number of widgets loaded. Switchable Dimensions enables one widget to fill multiple needs because the plugin can switch out dimensions, measures, and break by. 

  • Pivot Tables 
    • It is recommended to avoid using pivot tables unless pivot functionality is absolutely required. Instead, use an Aggregated Table, or (if no calculations are necessary), use a table. Both Aggregated Table and Table widgets are lighter than pivots. 
  • If pivot functionality is required, try to limit the number of Values being used (too many Values will be heavy due to the number of calculations needed). Additionally, avoid using any Columns (see below). Columns represent calculations that must be performed on values, which are extremely heavy operations. Instead, try to make the Columns into Rows. 

 no-column.png

  • Graphs/Charts - Apart from Pivots, other slowly loading widgets indicate overly heavy queries. This could be due to any of the following:
    • Too many Break By values
    • Too many Values
    • Intense functions. For example: GROWTH(). Instead, construct growth functions by hand. 

  • Too Much Data - A simple way to speed up dashboards is to limit the amount of data being visualized in the first place. Here are some techniques on how to do so:
    • Utilize a single select filter. This will ensure users are always filtering on a specific field. 
    • Roll up data to a less granular level. For example: aggregate and store daily data at the monthly or quarterly level. This way, far fewer records are loaded. A JTD or accordion can be utilized to display more granular data. 
    • Pre-aggregate data. If the count/avg/sum across several dimensions is used extensively, it may be worth it to perform some of this aggregation in the ElastiCube/database. 

  • Data Model
    • Data Security - Only apply Data Security in one location, rather than in multiple tables. Data security tables are always joined and always joining more than one table can get heavy. 
    • Joining Fields - Use integers, rather than strings to link tables in data models. Utilize the Rank() functions to create unique integer keys. 

ADDITIONAL CONTENT

No Dashboards, Queries not returning data, Page does not show up - Troubleshooting Guide General Website Loading-Issues

Performance Issues Troubleshooting: https://docs.sisense.com/main/SisenseLinux/troubleshooting-performance-issues.htm?TocPath=Troublesho...

Maximizing Dashboard Performance: https://community.sisense.com/t5/knowledge/maximize-dashboard-performance/ta-p/9483

 

Rate this article:
Version history
Last update:
‎09-17-2024 12:33 PM
Updated by:
Contributors