Laravel & PHP Deep — фреймворки и пакеты

Octane ускоряет Laravel, но ломает привычки, если не помнить про память и состояние

Octane ускоряет Laravel, но ломает привычки, если не помнить про память и состояние

Octane держит приложение в памяти между запросами. Значит, опасны не только медленные места, но и то, что обычно «само очищается»: статические свойства, singleton-сервисы с кэшем, глобальные переменные, подписчики событий, буферы логов.

Проверь перед включением:
— нет ли в контейнере объектов, которые копят данные от запроса к запросу;
— не хранится ли Request/User/tenant в свойствах класса;
— не мутируются ли конфиги и локаль «на лету»;
— не живут ли в памяти большие коллекции, файлы, результаты выборок без явного сброса.

Отдельно смотри на код, который работает через очереди, кэш и внешние клиенты. Если клиент держит соединение или внутренний state, его нужно либо пересоздавать, либо явно очищать. Иначе баги выглядят случайными: один запрос видит данные другого, а утечки проявляются только под нагрузкой.

Перед запуском прогони приложение как long-running process: открой несколько разных запросов подряд, проверь память, сессии, локаль, авторизацию и любые singleton-объекты. Если поведение меняется от запроса к запросу, проблема не в Octane, а в скрытом state.

Octane хорошо ускоряет только тот код, который уже чисто живёт в обычном Laravel. Сначала убери состояние, потом жми на газ.
Этот пост опубликован в Telegram-канале Laravel & PHP Deep — фреймворки и пакеты. Подписаться можно по ссылке: @laravel_php_deep.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.