TGViewer
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter @phpproglib · 10.5K subscribers
Post #5658 2.57K
🚀 Как оптимизировать Laravel-приложение: практические советы

Когда приложение растёт или работает с большими объёмами данных, оптимизация — не просто желание, а необходимость. Laravel — мощный фреймворк, который при грамотном подходе может выдавать высокую производительность.

Разбираем ключевые техники:

1️⃣ Оптимизация запросов к базе
Eager Loading: избегайте проблемы N+1 запросов, загружая связи заранее через with().
Выбирайте только нужные колонки с помощью select() для уменьшения объёма передаваемых данных.
Обрабатывайте большие наборы данных по частям через chunkById() — так снижается нагрузка на память.
Используйте toBase(), если нужна простая выборка без моделей и лишних данных (без отношений и событий).

2️⃣ Кэширование
Кэшируйте дорогостоящие запросы через Cache::remember().
Используйте кэш конфигураций и шаблонов (config:cache, view:cache) для ускорения загрузки.
Рассмотрите пакеты типа spatie/laravel-responsecache для кэширования ответов.

3️⃣ Ограничение запросов (Rate Limiting)
Защищайте API от перегрузок, используя встроенный middleware RateLimiter. Можно настроить правила по IP, пользователям и ролям.

4️⃣ Индексация базы данных
Правильные индексы — основа производительности SQL-запросов. Laravel миграции позволяют легко добавлять индексы: уникальные, обычные, полнотекстовые.

5️⃣ Советы по Eloquent
Не загружайте лишние связи, используйте withOnly() (Laravel 11).
Для получения одного столбца вместо get() применяйте pluck().
Для тяжёлой логики используйте сырые запросы через DB::select().

6️⃣ Очереди и фоновая обработка
Перенесите тяжёлые задачи (отправка писем, интеграции, экспорты) в очереди с помощью Laravel Queues и обработчиков (Redis + Supervisor или Laravel Octane).

👉 Читать статью
More from @phpproglib
  1. Sep 29, 2026💡 Laravel-фича, которая спасает тесты от случайных запросов Http::preventStrayRequests()…
  2. Sep 28, 2026🔐 ramsey/uuid — UUID без самописного кода Библиотека помогает генерировать, парсить и вал…
  3. Sep 28, 2026🤔 Что выведет код? ❤️ — 1 🔥 — 2 👍 — 12 👾 — Fatal error 👇 Правильный ответ (нажми, что…
  4. Sep 25, 2026🌞 PHP умеет искать в массиве без foreach В PHP 8.4 появились array_find(), array_find_key…
  5. Sep 24, 2026👍 5 способов встроить AI в Laravel Laravel AI SDK позволяет добавлять AI-функции прямо в…
  6. Sep 23, 2026🛠 Symfony 8.2 научился автоматически генерировать JSON Schema для конфигурации приложения…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →