Подтвердить что ты не робот

Что на самом деле связано с пулом соединений?

Я слышал термин объединение пулов и искал некоторые ссылки, отправляя его в Google... Но не могу понять, когда его использовать....

  • Когда следует рассмотреть возможность использования пул соединений?

  • Каковы преимущества и недостатки пула соединений?

Любое предложение....

4b9b3361

Ответ 1

Идея заключается в том, что вы не открываете и не закрываете одно соединение с вашей базой данных, вместо этого вы создаете "пул" открытых подключений, а затем повторно их используете. После того, как выполняется один поток или процедура, он возвращает соединение в пул и, следовательно, доступен для других потоков. Идея заключается в том, что обычно у вас не более 50 параллельных соединений, и открытие соединения требует времени и ресурсов.

Ответ 2

Вы должны использовать пул соединений, когда время установления соединения больше нуля (почти всегда) и при достаточном среднем использовании, так что соединение, вероятно, будет использоваться снова до истечения времени.

Преимущества намного быстрее, чтобы открывать/закрывать новые подключения, так как они не открываются и закрываются, они просто проверяются в пул.

Недостаток будет в некоторых пулах соединений, вы получите ошибку, если все объединенные соединения используются. Обычно это хорошо, поскольку это указывает на проблему с кодом вызова, который не закрывает соединения, но если вам законно требуется больше подключений, чем в пуле, и они не настроили его должным образом, вы могли бы получить ошибки, в которых вы не могли бы иначе.

И, конечно, будут и другие плюсы и минусы в зависимости от конкретной среды, в которой вы работаете, и базы данных.

Ответ 3

Когда я должен использовать пул соединений?

  • Всегда для производственной системы.

Каковы преимущества и недостатки пула соединений?

Преимущества:

  • Производительность. Используйте фиксированный пул соединений и избегайте дорогостоящего создания и выпуска соединений.
  • Общая инфраструктура. Если ваша база данных разделена между несколькими приложениями, вы не хотите, чтобы одно приложение исчерпало все подключения. Объединение помогает ограничить количество подключений для каждого приложения.
  • Licensing. В зависимости от вашей лицензии на базу данных количество одновременных клиентов ограничено. Вы можете установить пул с количеством разрешенных подключений. Если соединение недоступно, клиент ждет, пока он не будет доступен, или истечет время ожидания.
  • Проблема с подключением. Пул соединений, который находится между клиентом и базой данных, может обеспечить прозрачные для клиента удобные функции, такие как проверка "ping", проверка соединения и т.д. В худшем случае есть тайм-аут.
  • Мониторинг. Вы можете контролировать пул, видеть количество активных соединений и т.д.

Неудобство:

  • Вам нужно настроить и настроить его, что обычно является арахисами.

Ответ 4

пул соединений позволяет повторно использовать существующее, но не используемое соединение с базой данных. используя его, вы устраняете накладные расходы на соединение/разъединение с сервером базы данных. он обеспечивает значительное повышение производительности в большинстве случаев. единственная причина, по которой я могу думать о том, чтобы не использовать ее, - это то, что ваше программное обеспечение не будет достаточно часто подключаться, чтобы поддерживать связь в сети, или если в слое пула есть ошибка.

Ответ 5

В .NET, если вы используете одну и ту же строку соединения для доступа к данным, у вас уже есть пул соединений. Концепция заключается в повторном использовании простаивающего соединения без необходимости его оторвать и воссоздать, тем самым сохраняя ресурсы сервера. Это, конечно, принимая во внимание, что вы закрываете открытые соединения после завершения своей работы.