Вопрос проверяет понимание того, какие задачи решает WSGI-сервер и почему он используется в production.
Gunicorn запускает несколько worker-процессов, лучше управляет соединениями и рассчитан на production-нагрузку. Он стабильно работает с reverse proxy и позволяет гибко настраивать число воркеров и таймауты. Встроенный сервер Django не рассчитан на такие сценарии. Поэтому Gunicorn обеспечивает более высокую производительность и надежность.
Gunicorn — это специализированный WSGI-сервер, предназначенный для production-среды.
Определение: Worker — отдельный процесс или поток, который обрабатывает запросы независимо от других.
Gunicorn позволяет:
запускать несколько воркеров,
распределять запросы между ними,
перезапускать процессы при сбоях.
Пример:
gunicorn project.wsgi:application --workers 4
Gunicorn:
лучше обрабатывает большое количество соединений,
стабильно работает под нагрузкой,
корректно взаимодействует с Nginx.
Встроенный сервер:
не оптимизирован для production,
не рассчитан на высокую нагрузку.
Можно настраивать:
количество воркеров,
таймауты,
тип воркеров (sync, gevent и др.).
Это позволяет адаптировать сервер под разные типы нагрузки.
Gunicorn используется:
при деплое Django,
при работе через systemd,
при масштабировании backend.
Gunicorn нужен не просто для запуска Django, а для стабильной работы под нагрузкой, управления процессами и интеграции с production-инфраструктурой.