Python Web & Scripts — Django, FastAPI, скрипты
5 мест в FastAPI, где чаще всего прячутся баги интеграций и падение производительности
FastAPI любят за скорость старта, но в проде боль обычно не в роутинге, а в мелочах вокруг него. Есть наблюдение которое стоит проверить: если API «тормозит», причина часто в валидации, блокирующем коде и лишних преобразованиях данных.
• Не тяните тяжёлые запросы в синхронные функции внутри async-эндпоинта. Один `requests.get()` или работа с файлом без выноса в пул — и event loop уже занят.
• Не делайте сложные Pydantic-схемы на каждый чих. Глубокие вложенности, кастомные валидаторы и лишние `model_dump()` съедают время на горячих путях.
• Не смешивайте транспорт и доменную логику в одном обработчике. Чем тоньше endpoint, тем проще тестировать, профилировать и переиспользовать код.
Ещё один частый провал — ответы с лишними полями и неявной сериализацией. Если отдаёте ORM-объекты как есть, проверьте, что нет скрытых обращений к базе и ленивых связей. В интеграциях это особенно заметно: один эндпоинт выглядит невинно, а под нагрузкой внезапно начинает делать десятки лишних операций.
Для стабильного API держите правило: в endpoint — минимум логики, внутри — явные async/sync границы, снаружи — схемы и контракты, которые не заставляют Python работать больше, чем нужно.
2 ·