Laravel can absolutely run at scale — but only if you treat the framework as a starting point, not a finish line. Here is what we changed when traffic crossed a million requests a day.
Every non-trivial interaction became a queued job. We split queues by latency budget: realtime (< 1s), batch (retries, emails), and heavy (reports, exports). Horizon dashboards live next to the on-call runbook.
No N+1 ships. Our code review checklist includes with() verification and an explicit note on each query that runs inside a loop. Telescope is useful in staging; in production we use Blackfire and slow-query logs.
The framework does not make you fast. Predictability does.
Structured logs, request IDs propagated through queues, p95 latency on every public endpoint, and a weekly review of the top-10 slowest routes. Nothing exotic — just applied rigorously.