How to Troubleshoot a Slow ServiceNow Instance

Instance slowness has a small set of root causes. A systematic diagnostic approach finds them faster than guesswork. Here is the process from first symptom to root cause.

Step 1: Check Stats.do

Navigate to your instance: https://[instance].service-now.com/stats.do. This page shows real-time JVM metrics, thread counts, active sessions, and database query times. High thread counts and high average transaction times are immediate red flags.

Step 2: Check System Logs

Navigate to System > System Log > All. Filter by Level: Error first. Error logs often point directly at the problem script or table causing issues.

Step 3: Identify slow queries with Performance Log

Enable SQL query logging temporarily: navigate to System Diagnostics > Log Filters and enable database query logging. Then reproduce the slow operation. The logs will show query times and identify which queries are slow.

Common root causes and fixes

Cause: GlideRecord loop on a large table without a limiting query

// This runs against millions of records
var gr = new GlideRecord('cmdb_ci');
gr.query(); // No filter!
while (gr.next()) { ... }

Fix: Add an addEncodedQuery() and setLimit().

Cause: Business Rule running on every update of a high-volume table

Check the Business Rule conditions. If it runs on every update of the incident table and your org has 10,000 incidents per day, that rule runs 10,000 times. Make the condition as specific as possible, and make Async if the work does not need to be synchronous.

Cause: Scheduled Job running too frequently with expensive logic

Navigate to System Scheduler > Scheduled Jobs and review jobs running every minute or every 5 minutes. Each job run shows its last execution time in the log. Slow jobs running frequently multiply their impact.

Cause: Client Script making multiple GlideAjax calls on form load

Multiple simultaneous GlideAjax calls on form load slow form rendering. Consolidate into a single server call using a Display Business Rule with g_scratchpad to pre-load data.

Instance Scan

Run an Instance Scan (System Diagnostics > Instance Scan) to get a comprehensive report of anti-patterns. The Performance category specifically identifies query and scripting issues.

Want the complete reference?

This article is part of the NowSpectrum knowledge library. Browse all products for cheat sheets, interview prep, and deep-dive reference guides.

Browse All Products →