Za pomocą tej strony można skonfigurować ustawienia puli połączeń.
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.gotchaOkreś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 |
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]](../dist.gif)
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.
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]](../dist.gif)
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.
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. |
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.
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 |
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 |
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 |
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 |
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) |