Setări pool de conexiuni

Utilizaţi această pagină pentru a configura setările pool de conexiuni.

Această pagină a consolei administrative este comună surselor de date JDBC şi fabricilor de conexiune JMS (fabrici de conexiuni unificate, cozi sau subiecte). Pentru a vizualiza această pagină, calea depinde de tipul resursei, dar în general selectaţi o instanţă a tipului de resurse apoi faceţi clic pe Pool de conexiuni. De exemplu:
Evitare greutăţi Evitare greutăţi: Punerea în pool a conexiunilor nu este suportată într-un client de aplicaţie. Clientul de aplicaţii apelează baza de date direct şi nu trece printr-o sursă de date. Dacă vreţi să utilizaţi cererea getConnection() de la clientul de aplicaţie, configuraţi furnizorul JDBC din descriptorii de implementare a clientului de aplicaţie, folosind Rational® Application Developer sau o unealtă de asamblare. Conexiunea este stabilită între clientul de aplicaţii şi baza de date. Clienţii de aplicaţiei nu au un pool de conexiune, dar pot să configureze setările furnizorului JDBC din descriptorii de implementare ai clientului.gotcha

Timeout conexiune

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

Această valoare indică numărul de secunde pe care o cerere de conexiune îl aşteaptă când nu sunt conexiuni disponibile în pool-ul liber şi nici-o conexiune nouă nu poate fi creată. Aceasta apare de obicei deoarece valoarea maximă a conexiunilor din pool-ul de conexiuni particular a fost ajuns.

De exemplu, dacă Timeout-ul de conexiune este setat la 300 şi numărul maxim de conexiuni sunt toate în folosire, managerul pool aşteaptă 300 de secunde pentru ca o conexiune fizică să devină disponibilă. Dacă o conexiune fizică nu este disponibilă în timpul acestei perioade de timp, managerul de pool iniţiază o excepţie ConnectionWaitTimeout. În cele mai multe cazuri, nu va trebui să reîncercaţi metoda getConnection(); dacă este necesar un timp de aşteptare mai mare ar trebui să creşteţi valoarea de setare a Timeout-ului de conexiune. Dacă o excepţie ConnectionWaitTimeout este prinsă de către aplicaţie, examinaţi utilizarea pool-ului de conexiuni aşteptat al aplicaţiei şi ajustaţi pool-ul şi baza de date a conexiunii în concordanţă.

Dacă Timeout-ul de conexiune este setat la 0, managerul pool aşteaptă atât cât este necesar până când o conexiune devine disponibilă. Aceasta se întâmplă când aplicaţia finalizează o tranzacţie şi returnează o conexiune la pool sau când numărul de conexiuni scade sub valoarea Conexiunilor maxime şi este creată o nouă conexiune fizică.

Dacă Conexiunile maxime sunt setate la 0, este activat un număr infinit de conexiuni fizice şi valoarea Timeout-ului de conexiune este ignorată.

Informaţii Valoare
Tio de date Număr întreg
Unităţi Secunde
Valoarea implicită 180
Interval 0 la max int

Conexiuni maxime

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

Acestea sunt conexiunile fizice către resursa back-end. Când acest număr este atins, nici-o conexiune fizică nouă nu este creată. Solicitantul aşteaptă până când o conexiune fizică care este în prezent în utilizare se întoarce la pool sau până când se afişează o eroare ConnectionWaitTimeoutException. De exemplu, dacă valoarea Conexiuni maxime este setată la 5 şi există 5 conexiuni fizice în utilizare, managerul pool aşteaptă durata specificată în Timeout-ul de conexiune pentru ca o conexiune fizică să devină liberă.

Cunoscând numărul de pool-uri de conexiuni care pot potenţial să ceară conexiuni de la back-end, cum ar fi o bază de date DB2® sau un server CICS®, vă ajută să determinaţi o valoare pentru proprietatea Conexiuni maxime.

[AIX Solaris HP-UX Linux Windows][IBM i] Pentru servere de aplicaţii autonome multiple care utilizează aceeaşi configuraţie a sursei de date sau o configuraţie de fabrică J2C, există un pool de conexiuni fizice separate pentru fiecare sever. Dacă clonaţi aceste servere de aplicaţii care sunt la fel, WebSphere Application Server (base) implementează un pool de conexiune separată pentru fiecare clonă.

[z/OS] Consideraţi numărul de servanţi care accesează aceeaşi resursă; la rulare, acest număr înmulţeşte în primul rând setarea dumneavoastră Conexiuni maxime. Când servanţii pornesc aceeaşi sursă de date JDBC sau configuraţie de fabrică de conexiuni J2C, WebSphere Application Server (baza) implementează un pool de conexiuni fizice corespunzătoare pentru fiecare servant. Prin urmare acelaşi pool de conexiuni există, independent, în fiecare funcţionar. Setarea dumneavoastră Conexiuni maxime se aplică la fiecare din aceste pool-uri.

[AIX Solaris HP-UX Linux Windows][IBM i] Toate aceste pool-uri de conexiuni corespund aceeaşi sursă de date sau configuraţie de fabrică de conexiuni. Prin urmare toate aceste pool-uri de conexiuni pot cere potenţial conexiuni de la aceeaşi resursă back-end, în acelaşi timp. Valoarea singulară Conexiuni maxime pe care aţi setat-o pe acest panou consolă se aplică la fiecare din aceste pool-uri de conexiuni. În consecinţă, setarea unei valori mari a Conexiunilor maxime poate rezulta într-o încărcare de cereri de conexiuni care vă depăşeşte resursa de back-end.

[z/OS] Potenţial, fiecare aplicaţie care necesită sursă de date sau fabrică de conexiuni în aceşti servanţi poate să încerce să utilizeze resursa simultan. Prin urmare pool-urile de conexiuni corespunzătoare necesită conexiuni de la acelaşi back-end, în acelaşi timp. Nu setaţi o valoare Conexiuni maxime care ar putea cauza ca încărcarea cererilor de conexiuni să vă depăşească baza de date sau alt sistem de informaţii întreprindere (EIS).

Informaţii Valoare
Tip de date Număr întreg
Valoarea implicită 10
Interval 0 la întreg maxim

Dacă Conexiunile maxime sunt setate la 0, valoarea Timeout-ului de conexiune este ignorată.

Sugestie: Pentru o performanţă mai bună, setaţi valoarea pool-ului de conexiuni mai mică decât valoarea conexiunilor de pool ale firului de execuţie maxime ale containerului web. Pentru a configura această setare faceţi clic pe Servere > Server types > WebSphere application servers > server > Pool-uri fire de execuţie şi modificaţi proprietatea containerului web. Setări mai mici, cum ar fi 10-30 de conexiuni, au o performanţă mai bună decât setările mari, precum 100.

Puteţi să folosiţi Tivoli® Performance Viewer pentru a găsi numărul optim de conexiuni dintr-un pool. Dacă numărul de solicitanţi concurenţi este mai mare ca 0, dar încărcarea procesorului nu este aproape de 100%, luaţi în considerare creşterea dimensiunii pool-ului de conexiune. Dacă valoarea Procent utilizat este în mod consistent mai jos decât încărcarea de lucru normală, consideraţi scăderea numărului de conexiuni din pool.

Conexiuni minime

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

Dacă dimensiunea pool-ului de conexiuni este la sau mai mică decât dimensiunea pool-ului de conexiuni minimă, Firul de execuţie timeout nefolosit nu renunţă la conexiunile fizice. Totuşi, pool-ul nu creează conexiuni exclusiv pentru a asigura că dimensiunea pool-ului de conexiuni minimă este menţinută. De asemenea, dacă setaţi o valoare pentru Timeout-ul învechit, conexiunile cu o vechime expirată sunt ignorate, în ciuda setării dimensiunii pool-ului minime.

De exemplu, dacă valoarea Conexiunilor minime este setată la 3 şi este creată o conexiune fizică, firul de execuţie Timeout nefolosit nu renunţă la acea conexiune. La acelaşi jeton, firul de execuţie nu creează automat două conexiuni fizice suplimentare pentru a ajunge la setarea Conexiuni minime.

Informaţii Valoare
Tip de date Număr întreg
Valoarea implicită 0
Interval 0 la max int

Timp de culegere

Specifică intervalul, în secunde, între rulările firelor de execuţie de întreţinere pool.

De exemplu, dacă Timpul culegere este setat la 60, firul de execuţie întreţinere pool rulează la fiecare 60 de secunde. Intervalul Timp culegere afectează acurateţea setărilor Timeout-ului nefolosit şi a Timeout-ului învechit. Cu cât e mai mic intervalul, cu atât mai mare este precizia. Dacă firul de execuţie de întreţinere a pool-ului este activat, setaţi valoarea Timpului culegere mai mică decât valoarea Timeout-ului neutilizat şi a Timeout-ului învechit. Când rulează firul de execuţie de întreţinere al pool-ului, el renunţă la orice conexiuni rămase neutilizate mai mult decât durata specificată în Timeout-ul neutilizat, până când el ajunge la numărul de conexiuni specificate în Conexiuni minime. Firul de execuţie de întreţinere al pool-ului de asemenea renunţă la orice conexiuni care rămân active mai mult decât durata specificată în Timeout-ul învechit.

Intervalul Timp culegere de asemenea afectează 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 de întreţinere al pool-ului, setaţi Timpul de culegere la 0, sau setaţi ambele Timeout-ul neutilizat şi Timeout-ul învechit la 0. Calea recomandată pentru a dezactiva firul de execuţie de întreţinere al pool-ului este de a seta Timpul de culegere la 0 şi Timeout-ul neutilizat şi Timeout-ul învechit sunt ignorate. Totuşi, dacă Unused Timeout şi Aged Timeout sunt setate la 0, va rula firul de execuţie pentru mentenanţa pool. Conexiunile fizice ce au intrat în timeout datorită valorilor diferite de zero pentru timeout sunt ignorate ca şi conexiunile care rezidă în pool folosit (sau pool partajat) deoarece au fost ţinute mai mult decât intervalul de timp setat pentru Aged Timeout.

Informaţii Valoare
Tio de date Număr întreg
Unităţi Secunde
Valoarea implicită 180
Interval 0 la max int

Timeout neutilizat

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

Setaţi valoarea Timeout-ului neutilizat mai mare decât valoarea Timeout-ului de culegere pentru performanţă optimă. Conexiunile fizice neutilizate sunt ignorate doar dacă numărul curent de conexiuni depăşeşte setarea Conexiuni minime. De exemplu, dacă valoarea timeout-ului neutilizat este setată la 120, şi firul de execuţie de întreţinere al pool-ului este activat (Timpul de culegere nu este 0), orice conexiune fizică care rămâne neutilizată 2 minute este ignorată.

Precizia şi performanţa acestui timeout sunt afectate de valoarea Timp culegere. Vedeţi Timp de culegere pentru informaţii suplimentare.

Informaţii Valoare
Tio de date Număr întreg
Unităţi Secunde
Valoarea implicită 1800
Interval 0 la max int

Timeout învechit

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

Setarea Timeout-ului învechit la 0 ajută conexiunile fizice active să rămână în pool pe timp nelimitat. Setaţi valoarea Timeout-ului învechit mai mare decât valoarea Timeout-ului de culegere pentru performanţă optimă.

De exemplu, dacă valoarea timeout-ului învechit este setată la 1200 şi valoarea Timpului de culegere nu este 0, orice conexiune fizică care rămâne în existenţă pentru 1200 de secunde (20 de minute) este eliminată din pool. Singura excepţie este dacă conexiunea este implicată într-o tranzacţie când timeout-ul învechit este ajuns, serverul de aplicaţii nu va ignora conexiunea până când după ce tranzacţia este finalizată şi conexiunea este închisă.

Precizia şi performanţa acestui timeout sunt afectate de valoarea Timp culegere. Vedeţi Timp de culegere pentru informaţii suplimentare.

Informaţii Valoare
Tip de date Număr întreg
Unităţi Secunde
Valoarea implicită 0
Interval 0 la max int

Politică de epurare

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

Valorile valide sunt EntirePool şi FailingConnectionOnly.

Informaţii Valoare
Tip de date Tip
Valoarea implicită EntirePool


Nume fişier: udat_conpoolset.html