Ustawienia puli połączeń

Za pomocą tej strony można skonfigurować ustawienia puli połączeń.

Ta strona Konsoli administracyjnej jest wspólna dla źródeł danych JDBC i fabryk połączeń JMS (jednolitych fabryk połączeń oraz fabryk połączeń kolejek i tematów). Ścieżka do tej strony zależy od typu zasobu, ale najczęściej należy zaznaczyć instancję typu zasobu i kliknąć opcję Pula połączeń. Na przykład:
Unikanie problemów Unikanie problemów: zestawianie połączeń nie jest obsługiwane w kliencie aplikacji. Klient aplikacji wywołuje bazę danych bezpośrednio i nie przechodzi przez źródło danych. Jeśli żądanie getConnection() ma zostać użyte z poziomu klienta aplikacji, należy skonfigurować dostawcę JDBC w deskryptorach wdrażania klienta aplikacji przy użyciu produktu Rational® Application Developer lub narzędzia Assembly Tool. Połączenie jest nawiązywane między klientem aplikacji a bazą danych. Klienty aplikacji nie zawierają puli połączeń, ale ustawienia dostawcy JDBC można skonfigurować w deskryptorach wdrażania klienta.gotcha

Limit czasu połączenia

Określa okres (w sekundach), po upływie którego następuje przekroczenie limitu czasu żądania połączenia i zgłaszany jest wyjątek ConnectionWaitTimeoutException.

Ta wartość wskazuje liczbę sekund oczekiwania przez żądanie połączenia, jeśli w wolnej puli nie ma dostępnych połączeń i nie można utworzyć nowych połączeń. Zwykle przyczyną takiej sytuacji jest osiągnięcie maksymalnej liczby połączeń dla danej puli.

Na przykład jeśli Limit czasu połączenia ustawiono na 300 i używana jest maksymalna liczba połączeń, menedżer puli będzie czekał 300 sekund na udostępnienie połączenia fizycznego. Jeśli połączenie fizyczne nie jest w danym momencie dostępne, menedżer puli zainicjuje wyjątek ConnectionWaitTimeout. W większości przypadków nie należy próbować ponownie uruchamiać metody getConnection(). Jeśli wymagany jest dłuższy czas oczekiwania, należy zwiększyć wartość ustawienia Limit czasu połączenia. Jeśli aplikacja wychwyciła wyjątek ConnectionWaitTimeout, należy sprawdzić oczekiwane poziomy wykorzystania puli połączeń przez aplikację i odpowiednio dostosować pulę połączeń oraz bazę danych.

Jeśli Limit czasu połączenia ustawiono na 0, menedżer puli będzie oczekiwał do momentu udostępnienia połączenia. Taka sytuacja będzie mieć miejsce, gdy aplikacja zakończy transakcję i zwróci połączenie do puli lub gdy liczba połączeń spadnie poniżej wartości Maksymalna liczba połączeń. Zostanie wtedy utworzone nowe połączenie fizyczne.

Jeśli wartość Maksymalna liczba połączeń jest ustawiona na 0, możliwa jest nieskończona liczba połączeń fizycznych, a wartość Limit czasu połączenia jest ignorowana.

Informacje Wartość
Typ danych Liczba całkowita
Jednostki Sekundy
Wartość domyślna 180
Zakres Od 0 do maksymalnej liczby całkowitej

Maksymalna liczba połączeń

Określa maksymalną liczbę fizycznych połączeń, które można utworzyć w tej puli.

Są to połączenia fizyczne z zasobami zaplecza. Po osiągnięciu tej liczby nie są tworzone żadne nowe połączenia fizyczne. Requester oczekuje na zwrócenie jednego z aktualnie używanych połączeń fizycznych do puli lub na wystąpienie wyjątku przekroczenia limitu czasu ConnectionWaitTimeoutException. Na przykład jeśli wartość Maksymalna liczba połączeń jest ustawiona na 5 i jest używanych 5 połączeń fizycznych, menedżer puli oczekuje przez czas określony we właściwości Limit czasu połączenia na zwolnienie połączenia fizycznego.

Znając liczbę pul połączeń, które mogą ewentualnie żądać połączeń z systemu zaplecza (np. bazy danych DB2® lub serwera CICS®), można łatwiej określić wartość właściwości Maksymalna liczba połączeń.

[AIX Solaris HP-UX Linux Windows][IBM i] W przypadku wielu autonomicznych serwerów aplikacji, które korzystają z tej samej konfiguracji źródła danych lub fabryki połączeń J2C, dla każdego serwera istnieje osobna pula połączeń fizycznych. W przypadku sklonowania tych samych serwerów aplikacji serwer WebSphere Application Server (wersja podstawowa) implementuje oddzielną pulę połączeń dla każdego klona.

[z/OS]Należy wziąć pod uwagę liczbę elementów podrzędnych uzyskujących dostęp do tego samego zasobu. W praktyce liczba ta powoduje pomnożenie wartości ustawienia Maksymalna liczba połączeń w czasie wykonywania. Jeśli elementy podrzędne uruchamiają tę samą konfigurację źródła danych JDBC lub fabryki połączeń J2C, serwer WebSphere Application Server (wersja podstawowa) implementuje odpowiednią pulę połączeń fizycznych dla każdego elementu podrzędnego. Dlatego ta sama pula połączeń istnieje niezależnie w każdym elemencie podrzędnym. Ustawienie Maksymalna liczba połączeń odnosi się do każdej z tych pul.

[AIX Solaris HP-UX Linux Windows][IBM i] Wszystkie te pule połączeń odpowiadają tej samej konfiguracji źródła danych lub fabryki połączeń. Dlatego wszystkie te pule połączeń mogą żądać połączeń z tego samego zasobu zaplecza w tym samym czasie. Wartość Maksymalna liczba połączeń ustawiona w tym panelu konsoli odnosi się do każdej z tych pul połączeń. Z tego powodu ustawienie wysokiej wartości Maksymalna liczba połączeń może prowadzić do zbyt dużej liczby żądań połączeń, co spowoduje przeciążenie zasobu zaplecza.

[z/OS] Potencjalnie każda aplikacja wymagająca źródła danych lub fabryki połączeń w tych elementach podrzędnych może próbować korzystać z tego zasobu w tym samym czasie. Odpowiednie pule połączeń wymagają wtedy jednocześnie połączeń z tego samego zasobu zaplecza. Nie należy ustawiać takiej wartości Maksymalna liczba połączeń, która mogłaby spowodować przeciążenie bazy danych lub innego systemu EIS żądaniami połączeń.

Informacje Wartość
Typ danych Liczba całkowita
Wartość domyślna 10
Zakres Od 0 do maksymalnej liczby całkowitej

Jeśli wartość Maksymalna liczba połączeń jest ustawiona na 0, wartość Limit czasu połączenia jest ignorowana.

Wskazówka: W celu podniesienia wydajności należy ustawić taką wartość puli połączeń, która będzie niższa od wartości maksymalnej liczby połączeń puli wątków kontenera WWW. Aby skonfigurować to ustawienie, należy kliknąć opcję Serwery > Typy serwerów > Serwery aplikacji WebSphere > serwer > Pule wątków i zmodyfikować właściwość kontenera WWW. Ustawienie niewielkiej liczby połączeń, np. od 10 do 30, zapewnia lepszą wydajność, niż przy wysokich ustawieniach, np. 100.

W celu ustalenia optymalnej liczby połączeń w puli można użyć przeglądarki Tivoli® Performance Viewer. Jeśli liczba współbieżnych wątków oczekujących jest wyższa niż 0 i obciążenie procesora nie jest bliskie 100%, należy rozważyć zwiększenie wielkości puli połączeń. Jeśli wartość Procent wykorzystania jest równomiernie niska przy normalnym obciążeniu, należy wziąć pod uwagę zmniejszenie liczby połączeń w puli.

Minimalna liczba połączeń

Określa minimalną liczbę utrzymywanych połączeń fizycznych.

Jeśli wielkość puli połączeń jest równa lub mniejsza niż minimalna wielkość puli połączeń, wątek Limit czasu nieużywanego połączenia nie spowoduje usunięcia połączeń fizycznych. Pula nie tworzy jednak połączeń na wyłączność, aby zapewnić obsługę minimalnej wielkości puli połączeń. Jeśli ustawiono również wartość Limit wieku, połączenia, które osiągnęły wartość limitu, są usuwane bez względu na minimalne ustawienie wielkości puli.

Na przykład jeśli wartość Minimalna liczba połączeń jest ustawiona na 3 i utworzono jedno połączenie fizyczne, wątek Limit czasu nieużywanego połączenia nie usunie tego połączenia. Dla tego samego znacznika wątek nie utworzy automatycznie dwóch dodatkowych połączeń fizycznych w celu osiągnięcia ustawienia Minimalna liczba połączeń.

Informacje Wartość
Typ danych Liczba całkowita
Wartość domyślna 0
Zakres Od 0 do maksymalnej liczby całkowitej

Czas wykorzystania

Określa okres (w sekundach) między kolejnymi uruchomieniami wątku konserwacji puli.

Na przykład, jeśli Czas wykorzystania ustawiono na 60, wątek zarządzania pulą jest uruchamiany co 60 sekund. Wartość ustawienia Czas wykorzystania wpływa na dokładność ustawień Limit czasu nieużywanego połączenia i Limit wieku. Im mniejszy jest czas wykorzystania, tym dokładniej będą stosowane te limity. Jeśli jest włączony wątek konserwacji puli, należy ustawić wartość Czas wykorzystania mniejszą od wartości Limit czasu nieużywanego połączenia i od wartości Limit wieku. Gdy działa wątek konserwacji puli, usuwa on wszystkie połączenia pozostające nieużywane przez czas dłuższy niż określony przez wartość Limit czasu nieużywanego połączenia, dopóki nie zostanie osiągnięta liczba połączeń określona przez wartość Minimalna liczba połączeń. Wątek konserwacji puli usuwa również wszystkie połączenia, które pozostają aktywne przez czas dłuższy niż określony przez wartość Limit wieku.

Czas wykorzystania ma wpływ na wydajność. Mniejsze odstępy czasu powodują uruchamianie wątku konserwacji puli z większą częstotliwością i obniżenie wydajności.

Aby wyłączyć wątek konserwacji puli, należy ustawić wartość 0 właściwości Czas wykorzystania lub ustawić wartość 0 dla obu właściwości, Limitu czasu nieużywanego połączenia i Limitu wieku. Zalecanym sposobem wyłączenia wątku konserwacji puli jest ustawienie wartości 0 dla właściwości Czas wykorzystania, właściwości Limit czasu nieużywanego połączenia i Limit wieku zostaną zignorowane. Jeśli jednak właściwości Limit czasu nieużywanego połączenia i Limit wieku mają ustawioną wartość 0, wątek konserwacji puli jest uruchamiany. Usuwane są połączenia fizyczne przekraczające limit czasu przy wartościach limitów czasu różnych od zera oraz połączenia znajdujące się w używanej puli (lub we współużytkowanej puli) przechowywane przez okres dłuższy od czasu ustawionego dla właściwości Limit wieku.

Informacje Wartość
Typ danych Liczba całkowita
Jednostki Sekundy
Wartość domyślna 180
Zakres Od 0 do maksymalnej liczby całkowitej

Limit czasu nieużywanego połączenia

Określa okres (w sekundach), po upływie którego następuje usunięcie nieużywanych lub bezczynnych połączeń.

W celu uzyskania optymalnej wydajności w polu Limit czasu nieużywanego połączenia należy ustawić wartość większą niż wartość ustawiona w polu Czas wykorzystania. Niewykorzystane połączenia są usuwane tylko w przypadku, gdy bieżąca liczba połączeń przekroczyła wartość Minimalna liczba połączeń. Na przykład jeśli wartość właściwości Limit czasu nieużywanego połączenia ustawiono na 120, a wątek konserwacji puli jest włączony (właściwość Czas wykorzystania ma wartość inną niż 0), każde połączenie fizyczne nieużywane przez 2 minuty zostanie usunięte.

Dokładność i wydajność tego limitu czasu zależą od wartości właściwości Czas wykorzystania. Więcej informacji na ten temat zawiera sekcja Czas wykorzystania.

Informacje Wartość
Typ danych Liczba całkowita
Jednostki Sekundy
Wartość domyślna 1800
Zakres Od 0 do maksymalnej liczby całkowitej

Limit wieku

Określa okres (w sekundach) przed usunięciem fizycznego połączenia.

Ustawienie wartości Limit wieku na 0 oznacza, że aktywne połączenia fizyczne będą pozostawać w puli przez czas nieokreślony. W celu uzyskania optymalnej wydajności należy ustawić większą wartość właściwości Limit wieku niż wartość właściwości Czas wykorzystania.

Na przykład jeśli wartość właściwości Limit wieku ustawiono na 1200, a właściwość Czas wykorzystania ma wartość inną niż 0, każde połączenie fizyczne istniejące dłużej niż 1200 sekund (20 minut) zostanie usunięte z puli. Jedynym wyjątkiem jest przypadek, gdy połączenie jest używane w transakcji podczas osiągnięcia wartości Limit wieku. Serwer aplikacji nie usunie połączenia do momentu zakończenia transakcji i zamknięcia połączenia.

Dokładność i wydajność tego limitu czasu zależą od wartości właściwości Czas wykorzystania. Więcej informacji na ten temat zawiera sekcja Czas wykorzystania.

Informacje Wartość
Typ danych Liczba całkowita
Jednostki Sekundy
Wartość domyślna 0
Zakres Od 0 do maksymalnej liczby całkowitej

Strategia czyszczenia

Określa sposób czyszczenia połączeń po wykryciu połączenia nieaktualnego lub krytycznego błędu połączenia.

Prawidłowe wartości to EntirePool i FailingConnectionOnly.

Informacje Wartość
Typ danych Łańcuch
Wartość domyślna EntirePool (Cała pula)


Nazwa pliku: udat_conpoolset.html