PHP plan scaling — load probe

← testrabbit home

Drives /load.php (zero-dep, no DB) and /load-sql.php (DB contrast). Knobs: wait=I/O ms, burn=CPU ms, mb=hold N MB.

host · memory_limit · PHP
What is this & what to expect (TL;DR)

Does a bigger PHP plan do anything? It gives more processes and more memory — this page probes both. Rescale the plan between runs and compare.

  • Concurrencywave-1 ≈ the plan's process count (advertised 2/2/2/4/6/8 for XS→2XL): expect it flat across the smallest tiers, then rising. If it doesn't rise where it should, concurrency is capped.
  • Memory ceiling — highest mb before a 500 ≈ memory_limit; grows with the plan only if memory_limit scales.

Whether extra processes buy real throughput (not just concurrency) is the k6 arrival test — this page is the fast visual check.

Single request

Fire one request and see what the server did.

Concurrency — fire N parallel requests

Each request just waits (holds no CPU). If the plan runs P PHP processes, ~P finish in the first wave (≈ the wait time); the rest queue into later waves. That wave-1 count ≈ the plan's concurrency. Expect wave-1 ≈ the plan's process count (2/2/2/4/6/8 for XS→2XL); flat across the smallest tiers, then rising.

Memory ceiling (effect A)

Requests increasing mb until one exceeds memory_limit and returns HTTP 500. The highest size that still returns 200 is the ceiling — it should rise with the plan iff memory_limit scales.