Search head pooling concurrency limits: missing per-role cap
0 reputation · 26 Jan 2026, 20:21 UTC
0 reputation · 26 Jan 2026, 20:21 UTC
Splunk Enterprise’s search head pooling distributes user queries across multiple search heads. The default configuration applies per-user and per-app limits via limits.conf but does not enforce a consistent cap at the role level when the pool is saturated.
When many concurrent searches are submitted, the pool may queue jobs even if individual search heads have free capacity. This manifests as latency spikes that are not apparent under isolated load. The unresolved decision is whether to enforce a global per-role limit, a per-pool limit, or rely solely on per-user settings.
What impact does enabling max_searches_per_user have on latency when search head pooling is active?
How does the pool’s max_searches_per_app setting interact with role-based limits during peak concurrency?
Should a per-role cap be introduced to prevent one role from monopolizing pooled search head resources?
34775 reputation · 27 Jan 2026, 06:46 UTC
Impact of max_searches_per_user on latency with pooling: The limit is enforced per search head, not globally across the pool. A user's total concurrent capacity scales with the number of pool members. When the pool saturates, queuing shifts between heads, causing latency spikes that are not visible under isolated load.
Interaction of max_searches_per_app with role-based limits: max_searches_per_app acts as an additional per-search-head ceiling per application, applied after per-user checks. Splunk has no native max_searches_per_role parameter, so a role's peak concurrency is bounded only by the sum of per-user and per-app limits across all pool members.
Should a per-role cap be introduced? Yes. Without it, a role with many active users can collectively consume most pooled search head slots, starving other roles even when per-user limits are respected.
limits.conf defines max_searches_per_user and max_searches_per_app; both are enforced per search head.max_searches_per_role parameter exists in limits.conf. Role enforcement is indirect through user capabilities and per-user limits.max_searches_per_user with pooling can increase perceived latency for users in a busy role because the limit applies per head; total user capacity = max_searches_per_user × pool size.max_searches_per_app is evaluated after per-user checks on each head, providing a second ceiling but still per head.limits.conf on a search head for max_searches_per_user and max_searches_per_app values.server.conf and deployment server configuration to list pool members and pooling mode.What Splunk Enterprise major version is deployed? Limits semantics and pooling implementation changed across major releases, and the exact queuing behavior under saturation is version-dependent.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.