Transcript Organizer

Experiment 05 · Operations

Saturation response runbook

A detect–diagnose–contain–recover workflow for when queues, limits and corrective loops start interacting.

Use this runbook when latency, refusal, resource queues or recovery loops suggest that effective demand has outrun finite service capacity. The first objective is not full diagnosis. It is to protect critical work while preventing the response from adding more load.

Declare early if: queue age rises across two measurement intervals; retry traffic exceeds 10% of attempts; a hard resource or dependency quota exceeds 85%; or two capacity controls are interacting unexpectedly. Tune these provisional gates to the service.

0–5 minutes · Bound the incident

  1. Name the user-visible critical path and the work allowed to fail closed, fail open, delay or degrade.
  2. Assign incident lead, operations owner and communications owner. Record every temporary control with owner and expiry.
  3. Freeze nonessential deploys, batch starts and experiments. Do not automatically disable safe rollback.
  4. Capture a before-state: throughput, latency, errors, queue age/depth, retry volume, concurrency and dependency health.

5–15 minutes · Locate queued work

LayerInspectSaturation evidenceMisleading comfort signal
CPURun queue, steal, throttling, per-core loadRunnable work and latency rise togetherAverage CPU below 100%
MemoryLive set, allocation, reclaim, GC, OOMReclaim or collector work crowds out serviceFree bytes after killing workers
Disk / logsLatency, queue, bytes, inodes, amplificationWrites wait or metadata cannot allocateCapacity in bytes when inodes are gone
NetworkConnections, ports, retransmits, backlogAllocation/wait failures and retransmissionAggregate bandwidth below link rate
Application poolsActive, waiting, timeout, service timeWait time grows; completions fallPool fully utilized
QueuesAge of oldest, ingress, egress, expiryDrain rate below arrival rateDepth falls due to expiration
People / control planeApprovals, access, API quotas, deploy queueRecovery action waits or failsPrimary data plane looks stable

15–30 minutes · Stop amplification

MechanismContainmentGuardrailSuccess signal
Client or service retriesIncrease backoff, add jitter, reduce attempt budgetPreserve necessary at-most-once semanticsRetry share and duplicate work fall
Fan-out / expensive inputCap per-request work, reject or defer bulk classesReturn explicit partial/refusal statusDownstream operations per request fall
Autoscaling / recoveryPause the loop or cap change rateMaintain minimum healthy capacityControl-plane and warm-up demand fall
Error loggingSample, aggregate or rate-limit repeated errorsRetain unique signatures and security eventsWrite rate drops without losing incident shape
Optional featuresDisable via tested dynamic controlRecord owner, scope and expiryCritical-path service rate recovers
Background workPause intake; preserve durable cursorEstimate reconciliation debtOldest critical work drains

Decision gates

Scale only when all are true

Use break-glass access only when all are true

Stabilization checklist

After the incident · Preserve adaptive evidence

Save the hypothesis timeline, control changes, missing access, ambiguous signals, near-misses and actions that bought time. Separate improvements to the base envelope from improvements to adaptive capacity. For each corrective action, ask what new resource it consumes and how it might participate in a future cascade.

Do not copy thresholds blindly. The provisional gates in this runbook are prompts. Establish service-specific values through load tests, dependency contracts and incidents.