Skip to content

Performance & SLA Guidelines

This page defines what “good performance” means for this system and how it is enforced.

These are design targets, not just technical limits.


1. Key Principle

User-facing performance matters more than technical limits.

A request that “eventually succeeds” but keeps a user waiting is still a failure.


2. Web Request SLA (User-Facing)

Target Response Times

Request TypeIdealAcceptable MaxNotes
Public pages200ms – 2s≤ 10sCache wherever possible
APIs< 1s≤ 5sStrict timeouts required
Forms / Auth< 2s≤ 10–15sDB + validation only
Admin actions< 5s≤ 30sRare, controlled usage

❌ Anything approaching 120s is a failure and must be redesigned.


3. Server Safety Caps (Not SLA Targets)

These exist only to protect the system from runaway code:

SettingCap
PHP-FPM request timeout120s
PHP max execution time120s
PHP memory per request256MB

Hitting these caps means the design is incorrect.


4. Queue & Background Job SLA

Heavy work must run outside HTTP requests.

Job TypeTypical RuntimeNotes
Reports / Exports30–120sSplit if >120s
Bulk processing60–300sChunk data
Image / video processing60–300sNever inline

Queue workers run with:

bash
php artisan queue:work --timeout=120 --memory=256