Параметры пула соединений

С помощью этой страницы можно настроить параметры пула соединений.

Эта страница административной консоли является общей для источников данных JDBC и для фабрик соединений JMS (унифицированных фабрик соединений, фабрик соединений очереди и темы). Путь к этой странице зависит от типа ресурса, но обычно для ее просмотра нужно выбрать экземпляр типа ресурса, а затем - Пул соединений. Пример:
Предотвращение неполадок: Пул соединений не поддерживается приложением-клиентом. Оно вызывает базу данных напрямую, минуя источник данных. Если требуется использовать запрос 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] [iSeries] Если несколько автономных серверов приложений используют одну и ту же конфигурацию источника данных или конфигурацию фабрики соединений J2C, то для каждого сервера создается отдельный пул физических соединений. При дублировании таких серверов приложений, WebSphere Application Server реализует отдельный пул соединений для каждой копии.

[z/OS] Необходимо учесть число подчиненных, обращающихся к одному и тому же ресурсу; во время выполнения это число многократно увеличивает значение максимального числа соединений. Когда подчиненные вызывают один и тот же источник данных JDBC или конфигурацию фабрики соединений J2C, WebSphere Application Server реализует соответствующий пул физических соединений для каждого подчиненного. Таким образом, для каждого подчиненного один и тот же пул соединений существует независимо от других. Параметр Максимальное число соединений относится ко всем пулам.

[AIX Solaris HP-UX Linux Windows] [iSeries] Все эти пулы соединений соответствуют одному и тому же источнику данных или конфигурации фабрики соединений. Таким образом, все они могут одновременно запрашивать соединения из одного базового ресурса. Значение максимального числа соединений, устанавливаемое с помощью этой панели консоли, относится ко всем пулам соединений. Следовательно, если задать высокое значение, то нагрузка, обусловленная запросами на установление соединений, может перегрузить базовый ресурс.

[z/OS] Теоретически любое приложение, обращающееся к источнику данных или фабрике соединений в этих подчиненных областях, может попытаться использовать ресурс одновременно. В этом случае соответствующие пулы соединений одновременно запрашивают соединения из одной базовой системы. Значение максимального числа соединений следует устанавливать таким образом, чтобы нагрузка на базу данных или другую информационную систему предприятия (EIS) была минимальной.

Тип данных Целое число
Значение по умолчанию 10
Диапазон значений От 0 до максимального целого числа

Если наибольшее число соединений равно 0, значение Тайм-аута соединения игнорируется.

Совет: Для повышения производительности, задайте значение для пула соединений ниже, чем значение для опции максимального числа соединений пула в веб-контейнере. Для настройки этого параметра выберите Серверы > Типы серверов > Серверы приложений WebSphere > сервер > Пулы нитей и измените свойство WebContainer. Лучше задать небольшое число 10-30 соединений, чем большое, такое как 100.

Для того чтобы установить оптимальное число соединений в пуле можно использовать программу Tivoli Performance Viewer. Если число параллельных ожидающих приложений превышает 0, а процессор загружен не на 100%, рекомендуется увеличить размер пула соединений. Если значение Используемый процент постоянно низкое при нормальной рабочей нагрузке, рекомендуется снизить число соединений в пуле.

Минимальное число соединений

Задает минимальное число поддерживаемых физических соединений.

Если размер пула соединений равен или ниже минимального размера пула соединений, нить Тайм-аут простоя не аннулирует физические соединения. Однако пул не создает соединения только чтобы убедиться, что поддерживается минимальный размер пула соединений. Также если задать значение Тайм-аута давности, соединения с закончившимся сроком жизни становятся просроченными вне зависимости от минимального размера пула.

Например, если значение минимального числа соединений равно 3 и создано одно физическое соединение, нить Тайм-аут простоя не аннулирует это соединение. Точно так же нить не будет создавать автоматически два дополнительных соединения чтобы достичь значения минимального числа соединений.

Тип данных Целое число
Значение по умолчанию 1
Диапазон значений От 0 до наибольшего
Время поверки

Указывает интервал в секундах между выполнениями нити обслуживания пула.

Например, если время поверки равно 60, нить обслуживания пула выполняется каждые 30 секунд. Интервал Время проверки влияет на точность параметров Тайм-аут простоя и Тайм-аут давности. Чем меньше интервал, тем выше точность. Если нить обслуживания пула включена, задайте значение времени поверки меньше значений тайм-аута простоя и тайм-аута давности. При выполнении нити обслуживания пула она аннулирует все соединения, остающиеся неиспользуемыми дольше периода времени, указанного в тайм-ауте простоя, пока не будет достигнуто число соединений, указанное в параметре Минимальное число соединений. Нить обслуживания пула также аннулирует все соединения, остающиеся активными дольше периода, указанного в тайм-ауте древности.

Интервал времени поверки также влияет и на производительность. Меньшие интервалы означают, что нить обслуживания пула выполняется более часто и при этом зачастую страдает производительность.

Для отключения нити обслуживания пула задайте Время поверки равным 0 либо задайте тайм-аут простоя и тайм-аут древности равными 0. Рекомендуемым способом отключить нить обслуживания пула является использование значения 0 для времени поверки, после чего тайм-аут древности и тайм-аут простоя игнорируются. Однако если тайм-аут древности и тайм-аут простоя имеют нулевые значения, нить обслуживания пула выполняется, но при этом аннулируются только физические соединения с тайм-аутом, имеющим ненулевые значения.

Тип данных Целое число
Единицы измерения сек
Значение по умолчанию 180
Диапазон значений От 0 до наибольшего
Тайм-аут простоя

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

Для оптимизации производительности задайте значение тайм-аута простоя больше значения тайм-аута поверки. Неиспользуемые физические соединения аннулируются только если текущее число соединений превышает значение максимального числа соединений. Например, если значение тайм-аута простоя равно 120 и нить обслуживания пула включена (Время поверки не равно 0), любое физическое соединение, остающееся неиспользуемым две минуты, аннулируется.

На точность и производительность этого тайм-аута влияет значение времени проверки. Дополнительная информация приведена в разделе Время поверки.

Тип данных Целое число
Единицы измерения сек
Значение по умолчанию 1800
Диапазон значений От 0 до наибольшего
Тайм-аут давности

Задает интервал в секундах по истечению которого физическое соединение аннулируется.

Если Тайм-аут давности равен 0, физические соединения могут оставаться в пуле бесконечно. Для оптимизации производительности задайте значение тайм-аута давности больше значения тайм-аута поверки; тайм-аут давности следует использовать только при необходимости.

Для большинства адаптеров ресурсов рекомендуется указывать нулевое значение тайм-аута давности. Тайм-аут давности следует использовать только в том случае, если срок действия управляемого соединения может быть ограничен. Например, управляемое соединение IMS может перестать работать в случае переполнения протокола. Если протокол переполняется за 30 минут, укажите для параметра Тайм-аут давности значение 25 минут. Такой подход обеспечивает своевременную очистку управляемого соединения и освобождение ресурсов.

Например, если значение тайм-аута давности равно 1200, а значение времени поверки не равно 0, все физические соединения, существующие дольше 1200 секунд (20 минут) аннулируются из пула. Исключением является ситуация, когда при наступлении тайм-аута давности сервер приложений не отклоняет соединение до завершения транзакции и закрытия соединения.

На точность и производительность этого тайм-аута влияет значение времени проверки. Дополнительная информация приведена в разделе Время поверки.

Тип данных Целое число
Единицы измерения сек
Значение по умолчанию 0
Диапазон значений От 0 до наибольшего
Стратегия очистки

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

Допустимыми значениями являются EntirePool и FailingConnectionOnly.

Тип данных Строка
Значения по умолчанию
  • EntirePool для фабрик соединений J2C и фабрик соединений, связанных с JMS
  • EntirePool для источников данных WebSphere Version 4.0
  • EntirePool для текущей версии источников данных, созданных с помощью административной консоли
  • EntirePool для текущей версии источников данных, настраиваемых с помощью команд wsadmin AdminConfig, которые вызывают встроенные шаблоны JDBC сервера WebSphere Application Server (дополнительная информация о команде createUsingTemplate приведена в разделе Information Center "Команды для объекта AdminConfig".)
  • FailingConnectionOnly для источников данных, настраиваемых в wsadmin без вызова шаблонов JDBC
:
Диапазон значений
EntirePool
Все соединения пула помечаются устаревшими. Все неиспользуемые соединения немедленно завершаются. Используемое соединение закрывается и при выполнении следующей операции с данным соединением выбрасывается исключительная ситуация устаревшего соединения. Последующие запросы getConnection() от приложений ведут к созданию новых соединений с базой данных. При использовании этой стратегии очистки остается небольшая вероятность завершения некоторых соединений пула, не являющихся устаревшими. Однако это происходит довольно редко. В большинстве случаев стратегия очистки EntirePool является оптимальным выбором.
FailingConnectionOnly
Завершаются только соединения, вызвавшие исключительную ситуацию устаревшего соединения. Несмотря на то, что этот вариант устраняет возможность ненужного завершения допустимых соединений, восстановление с точки зрения приложения в таком случае является более сложным. Так как в этой ситуации закрывается лишь соединение, вызвавшее сбой, имеется высокая вероятность того, что следующий запрос getConnection() от приложения может вернуть соединение из пула, являющееся устаревшим, что приведет к увеличению числа исключительных ситуаций устаревших соединений.

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




Ссылки, помеченные как (в сети), требуют подключения к Internet.

Понятия, связанные с данным
Задачи, связанные с данной
Ссылки, связанные с данной


Имя файла: udat_conpoolset.html