Skip to content

Laravel Performance Optimisation

Performance work starts with a measurement, not a caching plugin fantasy.

Slow is a diagnosis, not a personality trait

Common Laravel performance problems are boring: missing indexes, with() never used, get() on a table that should be chunked, and a queue worker that died in 2022.

Redis and Laravel Horizon help when the work is actually queue-shaped. They do not fix an N+1 on an Eloquent admin index, a report that loads 400,000 rows into memory, or a checkout that waits on a third-party HTTP call in the request.

If the app is also unowned, performance work without backups is malpractice — start with rescue.

Process

  1. Identify the real wait Browser, PHP, database, queue, or the HTTP call to someone else.
  2. Instrument Slow query log, Telescope/Debugbar in non-prod, traces if they exist.
  3. Fix the cause Indexes, chunking, queues, avoiding N+1, stopping unbounded exports.

Questions that usually come up

Will you just enable cache?

Not as a first move. Cache on an incorrect query hides the bug and makes the next incident worse.

Do you need production access?

Usually, with care. Local fixtures rarely include the 400,000-row report that is actually slow.

Qualification

Discuss your Laravel project

Name, work email, and a short description of the application is enough. No discovery call theatre before I know whether I can actually help.

  • UK businesses with a real Laravel (or legacy PHP) application
  • Build, support, rescue, upgrade or integration work
  • Reply from Oliver Burton, usually within one working day

Server-side validated. Used only to reply about this enquiry. See the privacy policy.