Python Web & Scripts — Django, FastAPI, скрипты
7 причин, почему Python-проект начинает тормозить раньше, чем кажется
За неделю в репах почти всегда всплывает одно и то же: код написан «нормально», но страница грузится дольше, воркеры забиваются, а скрипт по ночам не успевает закончить прогон.
— Слишком много мелких запросов к БД вместо одного нормального SELECT с join/prefetch.
— Циклы поверх ORM-объектов, где можно заранее собрать данные пачкой.
— Лишние преобразования JSON, datetime и строк в горячем пути.
— Синхронный I/O внутри async-кода: один блокирующий вызов съедает всю пользу от asyncio.
Отдельно смотрите на кэш: его часто ставят «после оптимизации», хотя именно он должен закрывать повторяющиеся чтения, справочники и тяжелые вычисления. Если кэш не уменьшает число обращений или не спасает от одинаковых запросов, значит схема выбрана неверно.
Ещё один частый провал — логика в views, handlers и CLI-скриптах, которую давно пора вынести в сервисный слой. Когда бизнес-правило размазано по файлам, его невозможно профилировать, тестировать и ускорять без побочных эффектов.
Если проект начинает проседать, не ищите магию: сначала профилируйте узкие места, потом режьте количество I/O, потом только оптимизируйте Python-код.
3 ·