Улучшаемые навыки
Python
Highload
System Design
Профилирование I/O и CPU
Нагрузочное тестирование
Масштабирование
Gunicorn/Uvicorn
Connection Pooling
Кэширование
Backpressure
Архитектурные паттерны
Python оптимизация производительности
Масштабирование fastapi
Как профилировать python
Отказоустойчивость микросервисов
Инструменты
Python
Чему вы научитесь
01
Проводить нагрузочное тестирование и снимать метрики CPU/Memory/I/O в реальном времени.
02
Настраивать ASGI-серверы (Gunicorn/Uvicorn) и worker-модели для максимальной пропускной способности.
03
Оптимизировать работу с БД под нагрузкой: Connection Pooling, блокировки.
04
Внедрять защиту от перегрузок: Rate Limiting, Backpressure, Circuit Breaker.
05
Проектировать кэширование и решать проблемы инвалидации (Dogpile effect).
06
Масштабировать Python-сервисы горизонтально и выносить тяжёлые вычисления.
Как проходит обучение
Курс построен в формате инженерных экспериментов: вы работаете с готовой, но проблемной микросервисной системой. Под нагрузкой сервис «падает» — задача найти узкое место с помощью профилировщиков и метрик, устранить его и повторно провести тест.
Вы настраиваете пул соединений, кэширование, worker‑модели и повторяете нагрузочный сценарий до достижения стабильной работы
Программа курса
01
Серверы приложений и Worker-модели
Как Python обрабатывает HTTP-запросы в проде.
WSGI vs ASGI: различия и сценарии использования.
Настройка Gunicorn + Uvicorn: выбор типа и количества воркеров под железо.
Жизненный цикл воркера и утечки памяти.
02
Asyncio и GIL под нагрузкой
Деградация Event Loop при тысячах конкурентных запросов.
Паттерн Backpressure: отказ клиентам для защиты сервиса.
Free-threading (Python 3.13) vs традиционный Multiprocessing.
Вынос CPU-bound задач за пределы Event Loop
03
Нагрузочное тестирование и профилирование
Инструментарий: Locust, Yandex.Tank.
Эксперименты: определение RPS и деградации Latency.
Flame Graphs (графы пламени) с работающего сервиса.
Выявление узких мест: CPU, память, I/O, сеть.
04
Оптимизация работы с базами данных
Почему ORM убивает производительность при Highload.
Connection Pooling: настройка PgBouncer для PostgreSQL.
Репликация БД (Master-Slave) и маршрутизация запросов чтения/записи на уровне Python.
Борьба с Deadlocks (взаимными блокировками).
Уровни кэширования: локальная память (in-memory) vs распределённый кэш (Redis).
Проблема инвалидации кэша и состояние гонки (race condition).
Защита от лавинообразных запросов к БД: Dogpile effect, Thundering Herd.
06
Очереди, Rate Limiting и защита инфраструктуры
Очереди (RabbitMQ/Kafka) для сглаживания пиковых нагрузок (Load Shedding).
Алгоритмы ограничения трафика: Token Bucket, Leaky Bucket.
Паттерн Circuit Breaker при интеграции микросервисов.
07
System Design и масштабирование
Горизонтальное vs вертикальное масштабирование Python-приложений.
Stateless-архитектура и проблемы хранения пользовательских сессий.
Балансировка нагрузки (Nginx, HAProxy).
Вынос тяжёлых частей за пределы Python: микросервисы на Go/Rust.
08
ИИ-ассистент для работы с Python: делегирование рутины и безопасность
ИИ в работе: поиск багов, шаблоны кода, регулярные выражения, тестовые данные.
Корпоративная безопасность: что нельзя передавать в публичные нейросети.
Галлюцинации ИИ и обязательный аудит сгенерированного кода.
09
Итоговый практикум: Спасение падающего сервиса
Подача экстремального трафика на кластер сервисов студентов.
Экстренный поиск узких мест и применение паттернов оптимизации.
Защита архитектурного решения.
10
Итого на курс 40 ак. ч.: теория — 15 ак. ч. (38 %), практика — 25 ак. ч. (62%)
Для кого
Руководитель группы\Тимлид
Разработчик