Platform performance · LessonBy Sneha I, ServiceNow Trainer, 8 yrs · Published · ServiceNow · all levels
Semaphores and node health
Understand the semaphore pools, spot exhaustion, and respond when an instance stops responding.
Quick answer
Understand the semaphore pools, spot exhaustion, and respond when an instance stops responding.
Key takeaways
- Semaphores are per node worker slots, split by pool
- Exhaustion looks like an outage even when the database is fine
- Cancel first, then fix the cause
- Quota rules prevent repeat incidents
What a semaphore is
Each application node has a limited number of worker slots called semaphores, split into pools for interactive transactions, background work and API traffic. A transaction holds a semaphore for its lifetime, so long transactions starve everyone else.
Spotting exhaustion
Symptoms are slow or hanging pages while the database looks healthy. Check node statistics for queued transactions, and the semaphore set usage on each node. A steadily growing queue on one pool identifies the culprit.
Response
Stabilise first, then fix the cause.
- Cancel the offending transactions from the sessions list
- Check for a scheduled job or integration that started at the same time
- Apply or tighten quota rules for the pool that is exhausted
- Review the query that caused it and index or filter it properly
Practice challenge
+0 XPStreak ×0
Question 1 of 2
What does a growing transaction queue with healthy database indicate?
Frequently asked questions
Does adding nodes fix it?
It buys headroom but does not fix a query that runs for minutes. Fix the transaction, then size the instance.
Which pool usually breaks first?
The interactive pool during business hours, or the API pool when an integration loops without a limit.