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
- Identify the real wait Browser, PHP, database, queue, or the HTTP call to someone else.
- Instrument Slow query log, Telescope/Debugbar in non-prod, traces if they exist.
- 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