Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Dashboard with lot of application tabs performance issue

Rekha9
Tera Contributor

We have a Dashboard with lot of application tabs …. however, we are seeing performance issue upon loading the dashboard is there any easy way to see all application reports in the dashboard without any performance issues

1 REPLY 1

MaxMixali
Tera Guru

When a dashboard contains many tabs (especially with multiple reports, Performance Analytics widgets, and interactive filters), the initial page load triggers all report data loads simultaneously, resulting in heavy server calls and degraded performance.

Here’s how to improve performance and still allow users to view all reports easily.

 


 

 

🔹 1. Understand the Root Cause

 

 

  • Each report widget triggers a GlideAggregate query or PA indicator source call when the dashboard loads.

  • When you have 10+ tabs or dozens of widgets, ServiceNow’s browser and API pipelines are overloaded with concurrent calls.

  • The issue worsens when widgets have complex queries, large date ranges, or ungrouped scorecards.

 

 


 

 

🔹 2. Best-Practice Solutions

 

 

 

Option A: Use

Tabbed Container Lazy Loading

 

 

  • In the UI Builder (or classic dashboard), configure each tab to load its content only when active.

  • Check for “Load content on demand” or “Lazy load tab content” settings in your dashboard component.

     

    • This prevents inactive tabs from executing queries at page load.

    • Only the visible tab fetches data; others load when clicked.

     

 

 

Benefit: Significantly reduces load time — often by 60–80%.

 


 

 

Option B: Create

Multiple Dashboards

and Link via Navigation

 

 

Instead of putting all applications into one large dashboard:

 

  • Create one dashboard per application area (e.g., ITSM, HR, Security, etc.).

  • Use a master landing page (UI Builder or classic homepage) with buttons or links to each dashboard.

 

 

Example:
Dashboard “All Applications” → Buttons: “ITSM Reports,” “HR Reports,” “SecOps KPIs”
Each opens a smaller, faster dashboard.

 


 

 

Option C: Use

Performance Analytics Workbench or Scorecards

 

 

If you’re using Performance Analytics, use Workbench or Scorecard widgets to combine multiple visualizations efficiently.

 

  • Use Breakdowns instead of multiple reports.

  • Combine similar indicators into a single visualization.

 

 

Example: Instead of 6 bar charts (1 per app), use 1 PA chart with an “Application” breakdown.

 


 

 

Option 😧 Use

Data Visualization Dashboards (Next Experience)

 

 

If you’re on recent versions (Utah, Vancouver, Washington DC):

 

  • Migrate to Data Visualization (DV) dashboards using Performance Analytics > Visualizations in UI Builder.

  • DV Dashboards use modern client-side rendering and optimized API calls.

  • They support global filters and dataset caching, which greatly reduces loading time.

 

 

Note: These dashboards support server-side caching of data results, minimizing API roundtrips.

 


 

 

Option E: Schedule Report Caching

 

 

For large reports:

 

  • Navigate to the report record → Check “Use report caching”.

  • Configure cache refresh frequency (e.g., every 15 minutes).

  • Cached reports render instantly without re-querying tables every time the dashboard loads.

 

 


 

 

Option F: Use Asynchronous Loading (Widget-Level)

 

 

  • In custom widgets or UI Builder, configure widgets to load asynchronously.

  • Each report runs independently after the dashboard shell loads, improving user experience.

 

  1. Enable Lazy Loading for tabs.

  2. Move each major functional area into its own dashboard.

  3. Use cached reports for heavy data queries.

  4. Gradually migrate to Data Visualization dashboards with optimized datasets.

 

 

This combination ensures fast rendering, scalability, and an improved user experience.