← Back to Blog

5 Laravel Performance Tips I Use in Production

September 3, 2026

Performance work in Laravel rarely comes down to one big trick. It's usually a handful of small, boring changes applied consistently across a codebase. Here are five I reach for on almost every production project.

1. Eager load your relationships

The N+1 query problem is still the most common performance issue I see in Laravel apps. If you're looping over a collection and touching a relationship inside the loop, you almost certainly want with() or load() instead.

2. Cache expensive, rarely-changing queries

Not everything needs to hit the database on every request. Dashboard stats, navigation menus, and settings are good candidates for a short-lived cache.

3. Push slow work onto queues

Sending email, generating PDFs, calling third-party APIs — none of that needs to block the response. Laravel's queue system makes it easy to defer this work.

Other habits worth building

  1. Add database indexes for columns you filter or sort by
  2. Use chunked queries when processing large tables
  3. Profile with Laravel Debugbar or Telescope before optimizing blindly

None of this is exotic. It's mostly discipline — but that discipline is what keeps an app fast as it grows.