Встречается на собеседованиях • сегодня

Почему нельзя установить 100000 соединений с БД

Основная причина — ограничения операционной системы и ресурсов. Каждое соединение потребляет память (буферы, дескрипторы) и CPU. Например, в Linux дефолтный лимит файловых дескрипторов — 1024 на процесс.

Пример проверки лимитов в Python:

python
import resource
print(resource.getrlimit(resource.RLIMIT_NOFILE))  # (soft, hard)

Проблемы при 100k соединений:

  1. Memory: Каждое соединение ~1-10MB → 100GB+ RAM
  2. CPU: Контекстные переключения между потоками/процессами
  3. Latency: Управление таким пулом соединений само по себе ресурсоемко

Решение: Используйте пул соединений (например, asyncpg.create_pool) или connection-per-request паттерн. Оптимальный размер пула обычно 5-20 соединений на CPU core.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы