Skip to content
All writing Part 11 of 12 · Remote-Controlling Chrome in Containers
Engineering · 4 min read

KEDA Pressure Test: "Ready" Does Not Mean "Usable"

A four-step pressure test pattern for KEDA ScaledObjects, plus the initialization lag that makes Ready status unreliable.

Four-Step Pressure Test

A repeatable pattern for testing KEDA ScaledObject behavior before production.

Step 1: Baseline kubectl get scaledobject → MIN, MAX, READY, ACTIVE Step 2: Burst Fire N concurrent requests → 50 → 100 → 150 → 200 Step 3: Observe KEDA ScaledObject ACTIVE? New pods scheduled? Metric crossed threshold? Step 4: Check Distribution nslookup → all Ready IPs? Log volume per pod → even?

Cold vs Warm Comparison

Run the same burst size twice:

  1. Cold: pods are still scaling. KEDA just triggered.
  2. Warm: all pods are Ready.

Compare the results. If cold fails and warm succeeds, the problem is startup time, not pod capacity.

After Each Burst, Check Four Things

  • HTTP status distribution (200 vs 502/503)
  • Latency range (p1 to p99)
  • Error counter (chrome_errors_total)
  • Pod count and ScaledObject ACTIVE status

“Ready” Does Not Mean “Usable”

A resource can report “Ready” before it is usable. The status field is a self-report from one component. Other components can still lag behind.

Reports "Ready" Actually Usable GPU node: kubelet registers NVIDIA driver finishes (1-4 min) New node: status Ready DaemonSets all run (30s-2 min) Pod: status Running Readiness probe passes (seconds)

The gap between “status says Ready” and “works” is the initialization lag.

The Age Check Rule

When a resource fails, its age tells you how to respond.

Resource fails NEW (< 5 min) Wait 3-5 min. Check again. Probably transient. OLD (> 5 min) Real failure. Investigate root cause.

The GPU node showed Ready, but the GPU was not available. I thought it was a hardware failure. Two minutes later, all three Chrome pods were running. The node was initializing the whole time.


References:

Related: see the capacity formula these tests validate, or go back to the series overview.

Tags #kubernetes #chrome-devtools #containers
// connect

Be brave | Be wise | Be grateful

21 BreakinCode

// elsewhere
LinkedInMedium (lang: en)Life RecordYoutube
wh:~$William Hung· © 2026 Taipei · GMT+8 · Available for collaboration