NautheraServerHighLatency
Docs version v1 (main)Nauthera is pre-1.0, in a design-partner program
The 99th percentile latency of the protocol endpoints is above one second.
Meaning
Over 15 minutes, the 99th percentile of nauthera_ across
the protocol endpoints (authorize, PAR, token, device authorization, introspection,
revocation, UserInfo, end session, JWKS and discovery, by default) has stayed above the
threshold (1s). Database pool saturation, a slow cache, CPU starvation and a queue of
password verifications are the usual causes.
Impact
Relying parties wait longer for tokens and redirects, and some time out: a client with a
short HTTP timeout on /token sees failed sign-ins although the server answers in the
end. Users see slow redirects. Discovery and JWKS fetches by resource servers slow down
too.
Diagnosis
- Which routes are slow:
histogram_.quantile(0. 99, sum by (route, le) (rate(nauthera_ http_ request_ duration_ seconds_ bucket\{job="<name>"\}[5m]))) - Database pool waits:
rate(go_andsql_ wait_ duration_ seconds_ total\{job="<name>", db_ name="nauthera"\}[5m]) go_againstsql_ in_ use_ connections go_.sql_ max_ open_ connections - Cache latency:
histogram_.quantile(0. 99, sum by (op, le) (rate(nauthera_ cache_ operation_ seconds_ bucket\{job="<name>"\}[5m]))) - CPU: the chart sets no CPU limit by default; if you set one, look at throttling in your
container metrics. Look at
nauthera_for a pile-up.http_ in_ flight_ requests - Slow sign-ins only: password verifications queue behind
auth.;brute_ force. max_ concurrent_ verifies nauthera_rises when they wait longer thanauth_ logins_ total{result="throttled"} verify_acquire_timeout(2s).
Mitigation
- Pool saturation: follow NautheraDatabasePoolExhausted.
- Slow cache: follow NautheraCacheErrors; check the cache's own CPU and memory.
- CPU or load: add replicas (
replicaCount, orautoscaling), or raiseresources.requests.cpuso the pods are scheduled where CPU is free. - The threshold does not fit your environment: tune
metrics..prometheusRule. alerts. NautheraServerHighLatency. threshold
Escalation
Escalate to the identity platform owner when latency keeps rising or relying parties
report timeouts. Involve the database or cache owner when their latency is the cause. If
the latency is inside the server with healthy dependencies, open an issue with the
per-route p99 graph, a few slow requests' request_ids (and trace IDs when tracing is on)
and the server version.
Alert runbooks · Generated from internal/ and operator/ in nauthera-server.