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: Zestawiane 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 został ustawiony na 300, a wszystkie dozwolone połączenia są obecnie używane, 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 został ustawiony na 0, menedżer puli będzie oczekiwał do momentu udostępnienia połączenia. Stanie się tak, jeśli aplikacja zakończyła transakcję i zwróciła połączenia do puli, lub jeśli liczba połączeń będzie mniejsza niż wartość Maksymalna liczba połączeń, co umożliwi utworzenie nowego połączenia fizycznego.

Jeśli wartość Maksymalna liczba połączeń wynosi 0, co umożliwia utworzenie nieskończonej liczby połączeń fizycznych, wartość Limit czasy połączenia będzie ignorowana.

Typ danych Integer
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. Kiedy liczba połączeń jest równa tej wartości, nie są tworzone nowe połączenia fizyczne, a 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. Jeśli na przykład wartość Maksymalna liczba połączeń wynosi 5 i używanych jest pięć połączeń fizycznych, menedżer puli oczekuje przez czas ustawiony we właściwości Limit czasu połączenia na zwolnienie jednego z połączeń.

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

[AIX Solaris HP-UX Linux Windows] [iSeries] 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 implementuje oddzielną pulę połączeń dla każdego klona.

[z/OS] Należy wziąć pod uwagę liczbę elementów podrzędnych, które uzyskują dostęp do tego samego zasobu. W praktyce liczba ta powoduje pomnożenie wartości ustawienia Maksymalna liczba połączeń w czasie wykonywania. Kiedy elementy podrzędne wywołują tę samą konfigurację źródła danych JDBC lub fabryki połączeń J2C, serwer WebSphere Application Server implementuje dla każdego z nich odpowiednią pulę połączeń fizycznych. 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] [iSeries] 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ń.

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

Jeśli Maksymalna liczba połączeń jest ustawiona na 0, liczba połączeń fizycznych jest nieograniczona i wartość Limit czasu połączenia będzie ignorowana.

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

Do 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 wziąć pod uwagę 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ń ustawiono na 3 i utworzono jedno połączenie fizyczne, wątek Limit czasu nieużywanego połączenia nie usunie tego połączenia. Dla tego samego tokenu wątek nie utworzy automatycznie dwóch dodatkowych połączeń fizycznych w celu osiągnięcia ustawienia Minimalna liczba połączeń.

Typ danych Integer
Wartość domyślna 1
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ść Czas wykorzystania wpływa na dokładność zastosowania 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 wątek konserwacji puli jest włączony, należy ustawić krótszy Czas wykorzystania od Limitu czasu nieużywanego połączenia i od Limitu wieku. Uruchomienie wątku obsługi puli powoduje usunięcie wszystkich połączeń, które nie były używane dłużej niż określono w wartości Limit czasu nieużywanego połączenia do momentu osiągnięcia liczby połączeń określonej przez wartość Minimalna liczba połączeń. Wątek konserwacji puli usuwa również wszystkie połączenia, które są aktywne w czasie przekraczającym wartość określoną w Limicie 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ć właściwość Czas wykorzystania na 0 lub wartość 0 we właściwościach Limit czasu nieużywanego połączenia i Limit wieku. Zalecany sposób wyłączenia wątku konserwacji puli to ustawienie Czasu wykorzystania na 0, przy którym Limit czasu nieużywanego połączenia i Limit wieku są ignorowane. Pomimo, że przy Limicie czasu nieużywanego połączenia i Limicie wieku z wartością 0 wątek konserwacji puli jest uruchamiany, tylko połączenia fizyczne przekraczające limit czasu przy wartościach limitów czasu różnych od zera mogą być usuwane.

Typ danych Integer
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ć większą wartość, 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ń. Jeśli na przykład Limit czasu nieużywanego połączenia jest ustawiony na 120 i wątek konserwacji puli jest aktywny (Czas wykorzystania jest różny od 0), połączenia fizyczne nieużywane przez ponad dwie minuty będą usuwane.

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.

Typ danych Integer
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 wartość Limit wieku powinna być większa niż wartość Czas wykorzystania, jednak wartości Limit wieku należy używać tylko w razie konieczności.

Dla większości adapterów zasobów właściwość Limit wieku powinna mieć ustawioną wartość 0. Wartości Limit wieku należy używać jedynie w przypadku, gdy wiadomo, że połączenie zarządzanie stanie się nieaktualne. Połączenie zarządzane systemu zarządzania informacjami można na przykład przestać działać po osiągnięciu przez jego własny dziennik limitu dla tego połączenia. Jeśli dziennik wyczerpie wolny obszar w ciągu 30 minut, należy ustawić właściwość Limit wieku na wartość 25 minut. Umożliwi to uruchomienie procedury czyszczącej połączenia zarządzanego i zwolnienie zasobów zaplecza.

Innym przykładem może być sytuacja, w której właściwość Limit wieku ma wartość 1200, a właściwość Czas wykorzystania jest różna od 0. W tym przypadku połączenia fizyczne istniejące dłużej niż 1200 sekund (20 minut) będą usuwane 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.

Typ danych Integer
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.

Typ danych String
Wartości domyślne
  • Cała pula dla fabryk połączeń J2C i fabryk połączeń JMS
  • Cała pula dla źródeł danych produktu WebSphere 4.0
  • Cała pula dla źródeł danych w bieżącej wersji utworzonych przy użyciu Konsoli administracyjnej
  • Cała pula dla źródeł danych w bieżącej wersji utworzonych przy użyciu AdminConfig narzędzia wsadmin i wywołujących szablony JDBC wbudowane w serwer WebSphere Application Server. Informacje na temat komendy createUsingTemplate znajdują się w artykule Komendy dla obiektu AdminConfig w Centrum informacyjnym.
  • Tylko błędne połączenie dla źródeł danych utworzonych przy użyciu narzędzia wsadmin bez wywoływania szablonów JDBC
:
Zakres
EntirePool (Cała pula)
Wszystkie połączenia w puli zostały oznaczone jako nieaktualne. Nieużywane połączenia są natychmiast zamykane. Używane połączenie zostanie zamknięte i wyśle wyjątek połączenia nieaktualnego podczas następnej operacji. Kolejne żądania getConnection() wysyłane przez aplikację spowodują otworzenie nowych połączeń z bazą danych. Przy użyciu tej strategii czyszczenia istnieje niewielkie prawdopodobieństwo, że niektóre połączenia w puli będą zamykane prawidłowo, chociaż będą aktualne. Jednak zdarza się to rzadko. Strategia czyszczenia EntirePool to dobry wybór w większości przypadków.
FailingConnectionOnly (Tylko błędne połączenie)
System zamknie tylko połączenia powodujące wyjątek połączenia nieaktualnego. To ustawienie eliminuje możliwość zamknięcia aktualnych połączeń, ale powoduje, że odzyskiwanie z punktu widzenia aplikacji będzie bardziej skomplikowane. Ponieważ zamknięte zostanie tylko połączenie nieaktualne, istnieje możliwość zwrócenia połączenia z puli, która jest również nieaktualna przez żądanie getConnection() wysłane przez aplikację, co spowoduje powstanie większej ilości wyjątków połączeń nieaktualnych.

Funkcja wstępnego testu połączenia podejmie próbę odizolowania aplikacji od połączeń zawartych w puli, które nie są poprawne. Jeśli zasób zaplecza, jak np. baza danych przestanie działać, nieaktualne połączenia zawarte w puli mogą istnieć w wolnej puli. Zdarza się to najczęściej w przypadku, gdy strategia czyszczenia to failingConnectionOnly; w tym przypadku nieaktualne połączenie zostanie usunięte z puli. W zależności od błędu połączenia pozostałe połączenia w puli mogą być nieaktualne.




Zaznaczone odsyłacze (online) wymagają dostępu do Internetu.

Pojęcia pokrewne
Zadania pokrewne
Odsyłacze pokrewne


Nazwa pliku: udat_conpoolset.html