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

Можно ли установить 100000 соединений с БД

Да, теоретически можно, но на практике это крайне неэффективно и не рекомендуется.

Проблемы:

  • Лимиты ОС: Максимальное количество файловых дескрипторов (соединения используют их) ограничено.
  • Потребление памяти: Каждое соединение занимает RAM.
  • Нагрузка на БД: Поддержка тысяч соединений требует мощного сервера.

Решение:
Используйте пул соединений (например, psycopg2.pool для PostgreSQL):

python
from psycopg2 import pool

# Создаем пул на 100 соединений
connection_pool = pool.SimpleConnectionPool(
    minconn=1,
    maxconn=100,
    host="localhost",
    database="test",
    user="user",
    password="pass"
)

# Используем соединение из пула
conn = connection_pool.getconn()
cursor = conn.cursor()
cursor.execute("SELECT 1")
cursor.close()
connection_pool.putconn(conn)  # Возвращаем в пул

Альтернативы:

  • Асинхронные драйверы (asyncpg, aiomysql).
  • ORM с поддержкой пулов (SQLAlchemy).

Для 100k запросов лучше использовать асинхронность или батчинг.

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

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

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

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