Ustawienia puli sesji

Strona umożliwia konfigurowanie ustawień puli sesji.

Ta strona Konsoli administracyjnej jest wspólna dla jednolitych fabryk połączeń JMS, fabryk połączeń kolejki i fabryk połączeń tematu. Aby wyświetlić tę stronę, należy wybrać instancję typu zasobu, a następnie kliknąć opcję Pule sesji. Na przykład można kliknąć opcję Zasoby > JMS > Fabryki połączeń kolejki > fabryka_połączeń_kolejki > [Właściwości dodatkowe] Pule sesji.

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.

Po osiągnięciu maksymalnej wartości liczby połączeń (Maksymalna liczba połączeń) w konkretnej puli połączeń, konieczne jest oczekiwanie. Jeśli na przykład Limit czasu połączenia jest ustawiony na 300, po osiągnięciu maksymalnej liczby połączeń Menedżer puli będzie oczekiwał przez 300 sekund na dostępne połączenie fizyczne. Jeśli połączenie fizyczne nie będzie dostępne w tym czasie, Menedżer puli wyświetli wyjątek ConnectionWaitTimeoutException (przekroczenie limitu czasu oczekiwania na połączenie). W takiej sytuacji ponawianie metody getConnection() jest zwykle nieskuteczne. Połączenie wymaga zwiększenia limitu czasu oczekiwania, który można ustawić zwiększając wartość we właściwości Limit czasu połączenia. Zatem w przypadku wystąpienia tego wyjątku w aplikacji, administrator powinien sprawdzić przewidywane obciążenie aplikacji i odpowiednio dostroić pulę połączeń oraz bazę danych.

Jeśli Limit czasu połączenia jest ustawiony na 0, Menedżer puli będzie oczekiwał do momentu, kiedy połączenie zostanie przydzielone (czyli do momentu, kiedy liczba połączeń spadnie poniżej wartości Maksymalna liczba połączeń).

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.

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 pięć połączeń fizycznych jest używanych, Menedżer puli oczekuje przez czas ustawiony we właściwości Limit czasu połączenia na zwolnienie jednego z połączeń.

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.

W celu podniesienia wydajności należy ustawić niższą maksymalną liczbę połączeń dla puli połączeń, niż dla kontenera WWW. Ustawienie niewielkiej liczby połączeń, np. od 10 do 30, zapewnia lepszą wydajność, niż przy wysokich ustawieniach, np. 100.

W przypadku użycia klonów, każdy klon otrzymuje własną pulę danych. Znajomość liczby pul danych jest istotna przy konfigurowaniu maksymalnej liczby połączeń bazy danych.

[AIX Solaris HP-UX Linux Windows] [iSeries] 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.

[AIX Solaris HP-UX Linux Windows] [iSeries]
Typ danych Integer
Wartość domyślna 10
Zakres Od 0 do maksymalnej liczby całkowitej
Minimalna liczba połączeń

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

Kiedy liczba połączeń jest niższa od liczby minimalnej, wątek konserwacji puli nie usuwa nieużywanych połączeń fizycznych. Jednak nie są podejmowane próby zwiększenia liczby połączeń do liczby minimalnej. Jeśli jest ustawiony Limit wieku, minimalna liczba połączeń nie będzie utrzymywana. Wszystkie połączenia będą usuwane po przekroczeniu limitu wieku.

Jeśli na przykład wartość Minimalnej liczby połączeń wynosi 3 i utworzono jedno połączenie fizyczne, wątek limitu czasu nieużywanego połączenia nie usunie go. Przy tym samym ustawieniu wątek nie utworzy automatycznie dwóch dodatkowych połączeń, aby dostosować liczbę połączeń do ustawionej Minimalnej liczby 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.

Jeśli na przykład Odstęp czasu między operacjami usuwania połączeń jest ustawiony na 60, wątek konserwacji puli będzie uruchamiany co 60 sekund. Wartość Czasu wykorzystania warunkuje 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. Wątek konserwacji puli usuwa po uruchomieniu połączenia nieużywane w czasie przekraczającym wartość Limitu czasu nieużywanego połączenia do momentu, gdy liczba połączeń jest równa określonej w Minimalnej liczbie 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. 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, ale 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. Nieużywane połączenia fizyczne są usuwane pod warunkiem, że aktualna liczba nieużywanych połączeń przekracza wartość Minimalnej liczby 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. Warto wiedzieć, że dokładność tego limitu czasu i wydajność są uzależnione od wartoś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 Limitu wieku na 0 powoduje bezterminowe utrzymywanie połączeń pozostawianych w puli. W celu uzyskania optymalnej wydajności w polu Limit wieku należy ustawić większą wartość, niż wartość ustawiona w polu Czas wykorzystania. Jeśli na przykład Limit wieku jest ustawiony na 1200 i Czas wykorzystania jest różny od 0, połączenia fizyczne istniejące dłużej niż 1200 sekund (20 minut) będą usuwane z puli. Warto wiedzieć, że dokładność tego limitu czasu i wydajność są uzależnione od wartoś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. Dla źródeł danych JCA (Java EE Connector Architecture) można ustawić jedną z tych opcji. Strategia czyszczenia źródeł danych produktu WebSphere 4.0 to zawsze EntirePool.

Typ danych String
Wartość domyślna FailingConnectionOnly (Tylko błędne połączenie)
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łączenia są zamykane i przy następnej operacji na każdym z nich wystąpi wyjątek nieaktualnego połączenia StaleConnectionException. Kolejne żądania getConnection z aplikacji powodują otwieranie 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)
Tylko połączenia, które spowodowały wyjątek StaleConnectionException, są zamykane. To ustawienie eliminuje możliwość zamknięcia aktualnych połączeń, ale powoduje, że odzyskiwanie z punktu widzenia aplikacji będzie bardziej skomplikowane. Ponieważ tylko połączenia z aktualnym niepowodzeniem są zamykane, istnieje wysokie prawdopodobieństwo, że następne żądanie getConnection przez aplikację zwróci z puli połączenie już nieaktualne i wystąpi więcej wyjątków nieaktualnego połączenia.



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

Pojęcia pokrewne
Zadania pokrewne
Odsyłacze pokrewne


Nazwa pliku: umj_sesspoolset.html