Статьи
Разборы из практики: highload PHP, архитектура и trade-offs, надёжность, команды. Один факт = одна цифра — всё, что здесь написано, уже проверено в рабочих проектах.
15.09.2026 · PHP · PHPUnit · Doctrine · производительность
4343 зелёных теста и 150 лишних запросов на один flush. Как появился query-guard — расширение PHPUnit, которое ищет N+1 по живой трассе запросов, почему EXPLAIN на тестовой базе бесполезен и как инструмент против тихих отказов сам четыре раза молчал.
PHPPHPUnitDoctrineLaravelПроизводительность
24.08.2026 · базы данных · производительность · бенчмаркинг
Одинаковые данные, одинаковые сценарии, медиана семи замеров: простая view бесплатна, один CAST делает агрегат дороже в тринадцать раз, каскад из трёх view в MySQL вдвое быстрее прямого запроса, а сводная таблица обгоняет всё на порядки. Планы, буферы, временные таблицы и память — что VIEW на самом деле стоит в MySQL 8.4 и PostgreSQL 17.
MySQLPostgreSQLSQLПроизводительностьБенчмаркинг
20.08.2026 · PHP · Symfony · OpenAPI
У Symfony не было официальной интеграции со Scalar — красивым open-source-рендерером API Reference, после которого Swagger UI выглядит устаревшим. Бандл, который собрался за вечер и полировался неделю: один маршрут /scalar, любой OpenAPI-документ, живой 201 на Symfony 8.1, CI-война с GITHUB_TOKEN и предложение официальной интеграции (discussion #9920).
PHPSymfonyOpenAPIScalarAPI Reference
17.08.2026 · PHP · архитектура · тестирование
Почему архитектура «гниёт» молча и как превратить границы в проверки CI: правила пишутся на PHP и читаются как тесты, 19 правил модульного монолита из публичного проекта, baseline-стратегия для legacy, сравнение с deptrac и phpat.
PHPАрхитектураТестированиеCI/CDМодульность
21.08.2026 · реалтайм · highload PHP · архитектура
Пошаговая сборка живого аукциона на понижение и разбор собственных ошибок: автомат на 16 статусов, у которого переходы никто не вызывал; ставки, проходившие после конца торгов; метрика, которая улучшалась от отказов участникам; команда восстановления, падавшая от того, от чего восстанавливает. Код, цифры и SLO из публичного проекта.
SymfonyPHPРеалтаймRedisMercureАрхитектура
10.08.2026 · платежи · highload PHP · архитектура
Почему повторный запрос не равен повторной операции, как контракт exactly-once работает на реальном ядре: двухфазный платёж hold → capture, retry по правилам, балансировка между шлюзами, рекарринг, наблюдаемость и сверки. Кейс «Платежи РОСШТРАФЫ»: −25% ошибочных операций, +~10% конверсия.
ПлатежиPHPHighloadАрхитектураНадёжность
06.08.2026 · PHP highload · архитектура
Почему синхронная генерация документов в HTTP-запросе ломает UX, инфраструктуру и бизнес-процессы клиентов — и как гибридная схема на RabbitMQ решает проблему: где провести границу, как устроена очередь задач со статусами, что делать с нагрузкой, интеграциями и 15 граблями асинхронности.
RabbitMQPHPHighloadАрхитектура