
Профилирование Symfony под нагрузкой: что ломается первым
Symfony-приложение отдаёт 502 на пиковой нагрузке, а локально всё летает. Разбираем, где реально уходит время под трафиком и чем профилировать прод без остановки сервиса.

Symfony-приложение отдаёт 502 на пиковой нагрузке, а локально всё летает. Разбираем, где реально уходит время под трафиком и чем профилировать прод без остановки сервиса.

Прогрев контейнера на деплое, тегированная инвалидация и dogpile под пиковым трафиком — где кеш Symfony 6.x/7.x подводит первым и как это ловить.

Прогрев кеша Symfony на деплое и инвалидация закешированных ответов — две разные задачи, которые часто путают. Разбираем, чем отличается cache:warmup от инвалидации через теги и где всё это ломается на проде.

Между входящим HTTP-запросом и ответом Symfony проходит через шесть событий HttpKernel. Разбираем, какое событие за что отвечает и где чаще всего ломается обработка запроса.

Serializer в контроллере, отсутствие версионирования, N+1 в API-эндпоинтах и стектрейсы наружу — разбор частых ошибок при разработке REST API на Symfony 7.x и способов их исправить.

Когда выделять функциональность в отдельный бандл, как правильно объявлять сервисы и конфигурацию, а где хватит обычной папки в src. Разбор на примере Symfony 6.4 и 7.x.

Как встроить кеширование в Symfony-приложение через компонент Cache: пул, теги, стемпид-защита. Разбираем, где очевидное решение даёт устаревшие данные и лишние промахи.

Три типа тестов в Symfony решают разные задачи и стоят разного времени выполнения. Разбираем, когда брать чистый unit, когда поднимать ядро через KernelTestCase, а когда гонять HTTP-запросы.

Консольная команда синхронизации каталога зависала на пятой минуте и падала по памяти на 200 тысячах товаров. Разбираем, где в Symfony Console ломается наивный подход и что с этим делать.

Symfony Form решает валидацию и рендер, но упирается в проблемы на реальных проектах: медленный рендер, конфликт с API, боль с коллекциями. Разбираем, какой подход выбирать.

Doctrine ORM удобна, пока проект небольшой. На реальной нагрузке всплывают N+1, ленивые загрузки в цикле и запросы, которые тянут пол-базы. Чек-лист, что проверить до релиза.

Разбор рабочих приёмов Symfony Messenger: очереди, транспорты, повторы, идемпотентность и типичные ошибки, из-за которых сообщения теряются или обрабатываются дважды.