Dashboard with lot of application tabs performance issue
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 weeks ago
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 weeks ago
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.
Enable Lazy Loading for tabs.
Move each major functional area into its own dashboard.
Use cached reports for heavy data queries.
Gradually migrate to Data Visualization dashboards with optimized datasets.
This combination ensures fast rendering, scalability, and an improved user experience.
