Как работает пул соединений с БД для веб-приложений, если HTTP-соединения не сохраняют состояние? - PullRequest
2 голосов
/ 06 августа 2009

Вот то, чего я не могу понять. Многие веб-фреймворки внутренне используют пул db. Я не могу понять, как пул базы данных может работать там, если HTTP-соединения без состояния? Я могу себе представить, что пул базы данных может работать только для соединений, поддерживающих активность?

Есть идеи?

Спасибо!

Ответы [ 2 ]

5 голосов
/ 06 августа 2009

Веб-сервер поддерживает «пул» установленных соединений с базой данных. Для каждого HTTP-запроса может использоваться одно из уже существующих подключений из пула для использования во время этого одного запроса. Это может повысить производительность и снизить нагрузку на сервер, поскольку веб-серверам и серверам баз данных не нужно открывать новые соединения для каждого запроса (что может быть связано с большими издержками). То, как используются соединения с базой данных, они тоже не сохраняют состояния. Веб-сервер получает одно из соединений, выполняет несколько запросов, возвращает соединение в пул.

2 голосов
/ 06 августа 2009

Веб-приложение может принимать несколько HTTP-соединений в течение своего срока службы. Первоначальное соединение установит дескриптор БД, а последующие соединения с тем же приложением будут использовать его повторно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...