Catalog Item Performance Issue in Service Catalog Page – Slow Loading Time
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-06-2025 10:42 AM
Hello Community,
I’m experiencing an issue where one of my catalog items is taking significantly longer to load compared to others when accessed from the Service Catalog page. I’ve reviewed the associated scripts and variables, but I’m unable to pinpoint the cause of the delay.
Has anyone encountered similar performance issues with specific catalog items? What would be the best approach to identify and resolve such loading time problems?
Any insights or recommendations would be greatly appreciated.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-06-2025 10:58 AM
Need more information. How many variables, UI Policies, client script? Are you loading dropdowns with with a large amount of data?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-06-2025 09:02 PM
@Brian Lancaster
It has 30 variables, 15 ui policies and 17 catalog client scripts
During loading, I am initially displaying one reference field which has filtered records (count 32k) and 7 checkboxes.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-06-2025 09:48 PM
This should be simple to resolve. Please follow the steps below:
Temporarily disable all onLoad client scripts and UI Policies for the catalog item.
Reload the catalog item in a fresh browser tab (use an incognito/private window to avoid cached data).
Measure load time with the Network panel in Chrome DevTools or the “Analyze Performance” UI action.
If load time improves, re‑enable the scripts one at a time, testing after each enablement.
This pinpoints the specific script or policy responsible for the slowdown.
Inspect the problematic script once identified:
Synchronous (GlideAjax.getXML / waitFor) calls? Replace them with asynchronous patterns (GlideAjax.getXMLWait() is deprecated).
Multiple server round‑trips? Batch queries or move logic to a single Script Include.
Heavy DOM manipulation in onLoad? Defer to onChange or onSubmit where possible.
Note: Filtering 32 k CMDB records by itself is rarely a bottleneck; we routinely filter far larger data sets without noticeable lag. Inefficiencies usually trace back to synchronous GlideAjax calls or complex client‑side loops executed during onLoad.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-06-2025 10:04 PM
since it has lot of client scripts, UI policies it's taking too long.
Try to individually see which client script is taking long time, disable 1 by 1
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader