Форум сайта python.su
Насколько я понимаю обычной для веб-приложений на Python является схема при которой при каждом HTTP-запросе создается соединение к БД, делается сам запрос данных, соединение разрывается.
Есть ли практика создания приложения с пулом постоянных соединений к БД?
Например при старте wsgi-сервера количество нитей ограничено и равно N, при этом сразу же создается N постоянных подключений к БД,
Как вариант, можно создавать новую сессию только тогда, когда нет свободных существующих - по нарастающей до N.
Имеет ли смысл это делать?
Офлайн
paganmindЕсли вы уверены что это поможет решить вашу задачу. Кстати, какая она?
Имеет ли смысл это делать?
Офлайн
DaevaornНемного предыстории…paganmindЕсли вы уверены что это поможет решить вашу задачу. Кстати, какая она?
Имеет ли смысл это делать?
Офлайн
При пуле соединений сразу исключается возможность использовать встроенный в СУБД механизм авторизации. Причем, на десктопе такой проблемы нет, т.к. пул (если он клиентский) создается с указанным логином/паролем.
Создавая свой пул соединений не забывайте соединения поддерживать (отправка “пустой” команды), чтобы сервер БД не обрывал их по таймауту.
Офлайн
Lexander10 соединений к БД с одним и тем же логином, сессия БД никак не связана с сессией пользователя. Просто вместо одной “трубы” используется 10
При пуле соединений сразу исключается возможность использовать встроенный в СУБД механизм авторизации. Причем, на десктопе такой проблемы нет, т.к. пул (если он клиентский) создается с указанным логином/паролем.
LexanderЭто да, как один из минусов
Создавая свой пул соединений не забывайте соединения поддерживать (отправка “пустой” команды), чтобы сервер БД не обрывал их по таймауту.
Офлайн