Встречается на собеседованиях • сегодня
Можно ли установить 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 запросов лучше использовать асинхронность или батчинг.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы