Setările pool-ului de sesiuni

Folosiţi această pagină pentru a configura setările pool-ului de sesiuni.

Această pagină a consolei administrative este comună pentru fabricile de conexiuni JMS unificate, pentru fabricile de conexiuni de cozi şi pentru fabricile de conexiuni subiect. Pentru a vizualiza această pagină, selectaţi o instanţă a tipului de resursă, apoi apăsaţi pool-uri de sesiuni. De exemplu, apăsaţiResurse > JMS > Fabrici de conexiuni coadă > queue_connection_factory > [Proprietăţi suplimentare] Pool-uri de sesiuni.

Timeout conexiune

Specifică intervalul, în secunde, după care o cerere de conexiune intră in timeout, şi ConnectionWaitTimeoutException este aruncată.

Aşteptarea este necesară când valoarea maximă de conexiuni (Max Connections) către un pool de conexiuni specific este atinsă. De exemplu, dacă Timeout conexiune este setat la 300 şi numărul maxim de conexiuni este atins, managerul de pool aşteaptă 300 de secunde pentru o conexiune fizică disponibilă. Dacă o conexiune fizică nu devine disponibilă în acest timp, managerul de pool aruncă ConnectionWaitTimeoutException. Deobicei nu are sens să reîncercaţi metoda getConnection(), deoarece în cazul în care este necesar un timp de aşteptare mai mare, ar trebui să modificaţi setarea Timeout conexiune la o valoare mai mare. Prin urmare, dacă această excepţie este prinsă de aplicaţie, administratorul ar trebui să revadă utilizarea aşteptată şi să regleze pool-ul de conexiuni şi baza de date corespunzător.

Dacă Timeout conexiune este setat la 0, Managerul de pool aşteaptă oricât este necesar până când o conexiune este alocată (lucru care se întâmplă atunci când numărul de conexiuni scade sub valoarea setării Max Connections).

Dacă Max Connections este setat la 0, lucru ce permite un număr infinit de conexiuni fizice, atunci valoarea Timeout conexiune este ignorată.

Tipul datelor Întreg
Unităţi Secunde
Implicit 180
Interval 0 la max int
Max Connections

Specifică numărul maxim de conexiuni fizice ce pot fi create în acest pool.

Acestea sunt conexiunile fizice către resursa back-end. O dată ce acest număr este atins, nu mai sunt create alte conexiuni fizice şi solicitantul aşteaptă până când o conexiune fizică care este în uz se întoarce la pool, sau o excepţie ConnectionWaitTimeoutException este aruncată.

De exemplu, dacă valoarea Max Connections este setată la 5 şi sunt 5 conexiuni fizice în uz, managerul de pool aşteaptă durata specificată în Timeout conexiune pentru ca o conexiune fizică să se elibereze.

Dacă Max Connections este setat la 0, valoarea Timeout conexiune este ignorată.

Pentru performanţe mai bune, setaţi valoarea pentru pool-ul de conexiuni mai mică decât valoarea pentru opţiunea Max Connections în containerul Web. Setări mai mici, cum ar fi 10-30 de conexiuni, au o performanţă mai bună decât setările mari, precum 100.

Dacă sunt folosite clone, un pool de date există pentru fiecare clonă. Cunoaşterea numărului de pool-uri de date este importantă la configurarea numărului maxim de conexiuni al bazei de date.

[AIX Solaris HP-UX Linux Windows] [iSeries] Puteţi folosiTivoli Performance Viewer pentru a găsi numărul optim de conexiuni într-un pool. Dacă numărul de solicitanţi concomitenţi este mai mare ca 0, dar sarcina procesorului nu se apropie de 100%, luaţi în consideraţie creşterea mărimii pool-ului de conexiuni. Dacă sub sarcină normală, valoarea Procent Folosit este scăzută în mod constant, luaţi în consideraţie scăderea numărului de conexiuni din pool.

[AIX Solaris HP-UX Linux Windows] [iSeries]
Tipul datelor Întreg
Implicit 10
Interval 0 la max int
Min Connections

Specifică numărul minim de conexiuni fizice de menţinut.

Până când acest număr nu este atins, firul de execuţie de întreţinere al pool-ului nu ignoră conexiunile fizice. Totuşi, nu se încearcă ridicarea numărului de conexiuni la acest număr. Dacă setaţi o valoare pentru Timeout Îmbătrânire, valoarea minimă nu se menţine. Toate conexiunile cu o vârstă expirată sunt ignorate.

De exemplu, dacă valoarea Min Connections este setată la 3 şi o conexiune fizică este creată, firul de execuţie Timeout Nefolosit nu va ignora acea conexiune. După acelaşi token, firul de execuţie nu creează automat două conexiuni fizice suplimentare pentru a ajunge la valoarea setării Min Connections.

Tipul datelor Întreg
Implicit 1
Interval 0 la max int
Timp Reap

Specifică intervalul, în secunde, dintre rulările firului de execuţie de întreţinere al pool-ului.

De exemplu, dacă Timp Reap este setat la 60, firul de execuţie de întreţinere al pool-ului rulează la fiecare 60 de secunde. Intervalul Timp Reap afectează precizia setărilor Timeout Nefolosit şi Timeout Imbătrânire. Cu cât este mai mic intervalul, cu atât precizia este mai mare. Dacă firul de execuţie al întreţinerii pool-ului este activat, setaţi Timp Reap la o valoare mai mică decât Timeout Nefolosit şi Timeout Imbătrânire. Când firul de execuţie al întreţinerii pool-ului este rulat, acesta ignoră orice conexiune nefolosită pentru o perioadă de timp mai mare decât valoarea specificată în Timeout Nefolosit, până la atingerea numărului de conexiuni specificat în Min Connections. Firul de execuţie al întreţinerii pool-ului ignoră deasemenea conexiunile care rămân active pentru o perioadă mai mare de timp decât valoarea specificată în Timeout Imbătrânire.

Intervalul Timp Reap afectează deasemenea si performanţa. Intervale mai mici înseamnă că firul de execuţie rulează mai des, lucru ce scade performanţa.

Pentru a dezactiva firul de execuţie al întreţinerii pool-ului, setaţi Timp Reap la 0 sau setaţi Timeout Nefolosit şi Timeout Imbătrânire la 0. Modul recomandat de a dezactiva firul de execuţie al întreţinerii pool-ului este de a seta Timp Reap la 0, caz în care ignoraţi Timeout Nefolosit şi Timeout Îmbătrânire. Totuşi, dacă Timeout Nefolosit şi Timeout Imbătrânire sunt setate la 0, firul de execuţie al întreţinerii pool-ului rulează, dar sunt ignorate doar conexiunile fizice care intră în timeout datorită valorilor de timeout diferite de zero.

Tipul datelor Întreg
Unităţi Secunde
Implicit 180
Interval 0 la max int
Timeout Nefolosit

Specifică intervalul, în secunde, după care se renunţă la o conexiune nefolosită.

Pentru performanţe optime, Setaţi Timeout Nefolosit la o valoare mai mare decât Timeout Reap. Conexiunile fizice nefolosite sunt ignorate dacă numărul curent de conexiuni care nu sunt folosite depăşeşte valoarea setării Min Connections. De exemplu, dacă Timeout Nefolosit este setat la 120 şi firul de întreţinere pool este activat (Timp Reap nu este 0), orice conexiune fizică care nu este folosită timp de două minute este ignorată. Reţineţi că precizia acestui timeout, precum si performanţa sunt afectate de valoarea setării Timp Reap. Pentru mai multe in formaţii, vedeţiTimp Reap.

Tipul datelor Întreg
Unităţi Secunde
Implicit 1800
Interval 0 la max int
Timeout Imbătrânire

Specifică intervalul, în secunde, după care se renunţă la o conexiune fizică nefolosită.

Setând Timeout Imbătrânire la 0, conexiunile fizice active vor rămâne în pool pentru un timp nedefinit. Setaţi Timeout Imbătrânire la o valoare mai mare decât Timeout Reap pentru performanţe optime. De exemplu, dacă valoarea Timeout Imbătrânire este setată la 1200 iar valoarea Timp Reap este diferită de 0, orice conexiune fizică ce există pentru 1200 de secunde (20 de minute) este înlăturată din pool. Reţineţi că precizia acestui timeout, precum si performanţa, sunt afectate de valoarea Timp Reap. Pentru mai multe informaţii, vedeţi Timp Reap.

Tipul datelor Întreg
Unităţi Secunde
Implicit 0
Interval 0 la max int
Politică de epurare

Specficică modul în care conexiunile sunt epurate când este detectată o conexiune veche sau o eroare fatală a conexiunii.

Valori valide sunt EntirePool şi FailingConnectionOnly. Sursele de date JCA (Java EE Connector Architecture) pot avea oricare opţiune. Sursele de date WebSphere Versiunea 4.0 au mereu un purge policyEntirePool.

Tipul datelor Şir
Implicit FailingConnectionOnly
Interval
EntirePool
Toate conexiunile din pool sunt marcate ca vechi. Orice conexiune care nu este folosită este închisă imediat. O conexiune în uz este închisă şi aruncă o excepţie StaleConnectionException în timpul următoarei operaţii pe acea conexiune. Următoarele cereri getConnection de la aplicaţie vor rezulta în conexiuni noi către deschiderea bazei de date. La folosirea acestei politici de epurare, există o mică şansă ca unele conexiuni din pool care nu sunt vechi să fie închise, deşi acest lucru nu era necesar. Totuşi, acesta este un eveniment rar. În cele mai multe cazuri, o politică de epurare EntirePool este alegerea cea mai bună.
FailingConnectionOnly
Doar conexiunea care a cauzat StaleConnectionException este închisă. Deşi această setare elimină posibilitatea închiderii conexiunilor valide fără ca acest lucru să fie necesar, face ca recuperarea să fie mai complicată, din perspectiva aplicaţiei. Deoarece este închisă doar conexiunea care eşuează în acest moment, există o mare posibilitate ca următoarea cerere getConnection de la aplicaţie să poată întoarce o conexiune din pool care este şi ea veche, rezultând în şi mai multe excepţii de conexiuni vechi.



Legăturile marcate (online) necesită acces la internet.

Related concepts
Related tasks
Related reference


Nume fişier: umj_sesspoolset.html