С помощью этой страницы можно настроить параметры пула соединений.
Предотвращение неполадок: Пул соединений не поддерживается приложением-клиентом. Оно вызывает базу данных напрямую, минуя источник данных.
Если требуется использовать запрос getConnection() из приложения-клиента, настройте комплекс связи JDBC в файлах описания приложения-клиента с помощью Rational® Application Developer или инструмента сборки. Будет установлено соединение между приложением-клиентом и базой данных. Приложения-клиенты не имеют пула соединений, но можно настроить параметры провайдера JDBC в дескрипторах развертывания клиентов. gotchaУказывает интервал, выраженный в секундах, спустя который запрос на установление соединения прерывается по тайм-ауту и выбрасывается исключительная ситуация ConnectionWaitTimeoutException.
Это значение указывает время ожидания запроса на установление соединения в секундах, когда в свободном пуле нет доступных соединений и нельзя создать новые соединения, обычно из-за того, что максимальное число соединений в определенном пуле соединений уже достигнуто.
Например, если тайм-аут соединения задан на 300 и используется максимальное число соединений, диспетчер пула ожидает что физическое соединение станет доступным в течение 300 секунд. Если физическое соединение не становится доступным в течение этого времени, диспетчер пула выбрасывает исключительную ситуацию ConnectionWaitTimeout. Обычно нет смысла повторно вызывать метод getConnection(); если требуется больший период ожидания, следует увеличить значение свойства Тайм-аут ожидания. Если приложение получило исключительную ситуацию ConnectionWaitTimeout, пересмотрите схему использования приложением пула соединений и настройте пул соединений и базу данных соответствующим образом.
Если тайм-аут соединения равен 0, диспетчер пула ожидает столько, сколько требуется пока соединение не станет доступным. Это происходит когда приложение выполняет транзакцию и возвращает соединение в пул или когда число соединений снижается ниже максимального числа соединений и создается новое физическое соединение.
Если максимальное число соединений равно 0, то число физических соединений не ограничено и значение тайм-аута соединения игнорируется.
| Информация | Значение |
|---|---|
| Тип данных | Целое число |
| Единицы | Секунды |
| По умолчанию | 180 |
| Диапазон значений: | От 0 до наибольшего |
Задает максимальное число физических соединений для данного пула.
Существуют физические соединения с базовым ресурсом. При достижении этого числа, новые физические соединения не создаются. Инициатор ожидает пока какое-либо используемое физическое соединение не будет возвращено в пул или выброшено исключение ConnectionWaitTimeoutException. Например, если максимальное число соединений равно 5, и в какой-то момент используются все пять соединений, диспетчер пула ожидает в течение времени, заданного в значении Тайм-аут соединений, пока физическое соединение не освободится.
Важно знать число пулов соединений, которые могут запрашивать соединения из базовой системы (например, базы данных DB2® или сервера CICS®). Это поможет правильно определить значение свойства "Максимальное число соединений".
![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
Если несколько автономных серверов приложений используют одну и ту же конфигурацию источника данных или конфигурацию или конфигурацию фабрики соединений J2C, то для каждого сервера создается отдельный пул физических соединений. При дублировании этих серверов приложений, WebSphere Application Server (базовая версия) реализует отдельный пул соединений для каждой копии.
Необходимо учесть число подчиненных, обращающихся к одному и тому же ресурсу; во время выполнения это число многократно увеличивает значение максимального числа соединений. Когда подчиненные запускают один и тот же источник данных JDBC или конфигурацию фабрики соединений J2C, WebSphere Application Server (базовая версия) реализует соответствующий пул физических соединений для каждого подчиненного. Таким образом, для каждого подчиненного один и тот же пул соединений существует независимо от других. Параметр Максимальное число соединений относится ко всем пулам.
![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
Все эти пулы соединений соответствуют одному и тому же источнику данных или конфигурации фабрики соединений. Таким образом, все они могут одновременно запрашивать соединения из одного базового ресурса. Значение максимального числа соединений, устанавливаемое с помощью этой панели консоли, относится ко всем пулам соединений. Следовательно, если задать высокое значение, то нагрузка, обусловленная запросами на установление соединений, может перегрузить базовый ресурс.
Теоретически любое приложение, обращающееся к источнику данных или фабрике соединений в этих подчиненных областях, может попытаться использовать ресурс одновременно. В этом случае соответствующие пулы соединений одновременно запрашивают соединения из одной базовой системы.
Значение максимального числа соединений следует устанавливать таким образом, чтобы нагрузка на базу данных или другую информационную систему предприятия (EIS) была минимальной.
| Информация | Значение |
|---|---|
| Тип данных | Целое число |
| По умолчанию | 10 |
| Диапазон значений: | От 0 до максимального целого числа Если максимальное число соединений равно 0, значение тайм-аута соединения игнорируется. |
Для того чтобы установить оптимальное число соединений в пуле можно использовать программу Tivoli® Performance Viewer. Если число параллельных ожидающих приложений превышает 0, а процессор загружен не на 100%, рекомендуется увеличить размер пула соединений. Если значение Используемый процент постоянно низкое при нормальной рабочей нагрузке, рекомендуется снизить число соединений в пуле.
Задает минимальное число поддерживаемых физических соединений.
Если размер пула соединений равен или ниже минимального размера пула соединений, нить Тайм-аут простоя не аннулирует физические соединения. Однако пул не создает соединения только чтобы убедиться, что поддерживается минимальный размер пула соединений. Также если задать значение Тайм-аута давности, соединения с закончившимся сроком жизни становятся просроченными вне зависимости от минимального размера пула.
Например, если значение минимального числа соединений равно 3 и создано одно физическое соединение, нить Тайм-аут простоя не аннулирует это соединение. Точно так же нить не будет создавать автоматически два дополнительных соединения чтобы достичь значения минимального числа соединений.
| Информация | Значение |
|---|---|
| Тип данных | Целое число |
| По умолчанию | 0 |
| Диапазон значений: | От 0 до наибольшего |
Указывает интервал в секундах между выполнениями нити обслуживания пула.
Например, если время поверки равно 60, нить обслуживания пула выполняется каждые 30 секунд. Интервал Время проверки влияет на точность параметров Тайм-аут простоя и Тайм-аут давности. Чем меньше интервал, тем выше точность. Если нить обслуживания пула включена, задайте значение Времени поверки меньше значений Тайм-аута простоя и Тайм-аута давности. При выполнении нити обслуживания пула она аннулирует все соединения, остающиеся неиспользуемыми дольше периода времени, указанного в тайм-ауте простоя, пока не будет достигнуто число соединений, указанное в параметре Минимальное число соединений. Нить обслуживания пула также аннулирует все соединения, остающиеся активными дольше периода, указанного в тайм-ауте древности.
Интервал времени поверки также влияет и на производительность. Меньшие интервалы означают, что нить обслуживания пула выполняется более часто и при этом зачастую страдает производительность.
Для отключения нити обслуживания пула задайте Время поверки равным 0 либо задайте тайм-аут простоя и тайм-аут давности равными 0. Рекомендуемым способом отключить нить обслуживания пула является использование значения 0 для времени поверки, после чего тайм-аут давности и тайм-аут простоя игнорируются. Однако если тайм-аут древности и тайм-аут простоя имеют нулевые значения, нить обслуживания пула выполняется. Физические соединения, с ненулевым значением тайм-аута, отклоняются, в случае возникновения тайм-аута. Кроме того, отклоняются соединения из пула (или общего пула), если время их блокирования превышает значение, указанное в параметре Тайм-аут давности.
| Информация | Значение |
|---|---|
| Тип данных | Целое число |
| Единицы | Секунды |
| По умолчанию | 180 |
| Диапазон значений: | От 0 до наибольшего |
Задает интервал в секундах по истечении которого неиспользуемые или простаивающие соединения аннулируются.
Для обеспечения оптимальной производительности рекомендуется указать тайм-аут неиспользуемых соединений, превышающий тайм-аут поверки. Неиспользуемые физические соединения аннулируются только если текущее число соединений превышает значение максимального числа соединений. Например, если значение тайм-аута простоя равно 120 и нить обслуживания пула включена (Время поверки не равно 0), любое физическое соединение, остающееся неиспользуемым две минуты, аннулируется.
На точность и производительность этого тайм-аута влияет значение времени проверки. Дополнительная информация приведена в разделе Время поверки.
| Информация | Значение |
|---|---|
| Тип данных | Целое число |
| Единицы | Секунды |
| По умолчанию | 1800 |
| Диапазон значений: | От 0 до наибольшего |
Задает интервал в секундах по истечению которого физическое соединение аннулируется.
Если Тайм-аут давности равен 0, физические соединения могут оставаться в пуле бесконечно. Для обеспечения оптимальной производительности рекомендуется указать тайм-аут давности, превышающий тайм-аут поверки.
Например, если значение тайм-аута давности равно 1200, а значение времени поверки не равно 0, все физические соединения, существующие дольше 1200 секунд (20 минут) аннулируются из пула. Исключением является ситуация, когда при наступлении тайм-аута давности сервер приложений не отклоняет соединение до завершения транзакции и закрытия соединения.
На точность и производительность этого тайм-аута влияет значение времени проверки. Дополнительная информация приведена в разделе Время поверки.
| Информация | Значение |
|---|---|
| Тип данных | Целое число |
| Единицы | Секунды |
| По умолчанию | 0 |
| Диапазон значений: | От 0 до наибольшего |
Указывает, как очищать соединения при обнаружении устаревшего соединения или неустранимой ошибки соединения.
Допустимыми значениями являются EntirePool и FailingConnectionOnly.
| Информация | Значение |
|---|---|
| Тип данных | Строка |
| По умолчанию | EntirePool |