Skip to content

v1.6.1

Choose a tag to compare

@sylvesterdamgaard sylvesterdamgaard released this 11 Sep 12:54
· 33 commits to main since this release

php-fpm-nginx now defaults to the unix socket (PHP_FPM_LISTEN=unix).

Decided on the dedicated-hardware rig, not by taste: +21% transport-path throughput over plain TCP at both 2 and 8 vCPU, the cleanest coordinated-omission-corrected tail of any variant (p99.9 4.6ms), and Laravel/work/static unchanged - the -3% Laravel reading from the main pass did not survive an interleaved n=9 A/B (+0.4%). The laptop measurement that previously reversed this decision did not transfer to cloud cores, where per-request connect cost weighs ~3x heavier. Raw data: bench/cloud/results/2026-09-11/.

  • PHP_FPM_LISTEN=tcp restores the classic 127.0.0.1:9000 pair - the right choice when FPM is scraped or proxied from outside the container. Standalone php-fpm keeps TCP (remote FastCGI is its purpose).
  • FastCGI keepalive stays opt-in: +9% peak on micro requests but 742ms p99.9 recycling spikes - the wrong tradeoff for a default.
  • On read-only rootfs the default degrades gracefully to the baked TCP set; an explicit unix still refuses loudly.
  • Fixed: the container healthcheck hardcoded TCP :9000 and marked socket-mode containers unhealthy forever - it now detects the live socket (Docker healthchecks cannot see entrypoint exports). Caught by the rig the hour the default flipped; both modes verified healthy end-to-end before this tag.

With this release the benchmark page scoreboard on defaults reads: Laravel +6%/tie, static +190%/+69%, CPU-bound tie, transport -7%/-3% (was -23%/-20%), tails equal or better.