Impostazioni del lotto connessioni

Utilizzare questa pagina per configurare le impostazioni del lotto connessioni.

Questa pagina della console di gestione è comune in diversi tipi di risorse; ad esempio, le origini dati JDBC e le produzioni connessioni code JMS. Per visualizzare questa pagina, il percorso dipende dal tipo di risorsa ma generalmente si seleziona prima l'istanza del provider di risorse, quindi un'istanza del tipo di risorsa e, successivamente, si fa clic su Lotto connessioni. Ad esempio: fare clic su Risorse > Provider JDBC > provider_JDBC > Origini dati > origine_dati > Lotto connessioni.

Scheda Configurazione

Ambito
Specifica il livello in cui è visibile questa definizione di risorsa -- il livello cella, nodo o server.

È possibile definire in più ambiti, risorse quali provider di JDBC, collegamenti spazio nome o librerie condivise, insieme a risorse definite in ambiti più specifici che sovrascrivono i duplicati definiti in ambiti più generali.

Notare che non è importante l'ambito di una risorsa definita, le proprietà della risorsa si applicano solo ad un singolo livello del server. Ad esempio, se si definisce l'ambito di un'origine dati al livello Cella, tutti gli utenti possono ricercare e utilizzare quella origine dati che risulta univoca all'interno di quella cella. Tuttavia, le impostazioni delle proprietà di risorsa sono locali per ogni server all'interno della Cella. Ad esempio, se si imposta numero massimo connessioni su 10, ogni server in quella cella può disporre di 10 connessioni.

Cella
L'ambito più generale. Le risorse definite nell'ambito cella sono visibili da tutti i nodi e i server, a meno che non siano state sovrascritte. Per visualizzare le risorse definite nell'ambito cella, non specificare il nome di un server o di un nodo nel modulo di selezione dell'ambito.
Nodo
L'ambito predefinito per la maggior parte dei tipi di risorse. Le risorse definite nell'ambito nodo sovrascrivono gli eventuali duplicati definiti nell'ambito cella e sono visibili a tutti i server sullo stesso nodo, a meno che non siano state sovrascritte in un ambito server sul quel nodo. Per visualizzare le risorse definite in un ambito nodo, non specificare un server ma selezionare il nome di un nodo nel modulo di selezione dell'ambito.
Server
L'ambito più specifico per la definizione delle risorse. Le risorse definite nell'ambito server sovrascrivono eventuali definizioni di risorse duplicate specificate nell'ambito cella o nell'ambito nodo parent e sono visibili solo in un determinato server. Per visualizzare le risorse definite in un ambito server, specificare il nome di un server e il nome di un nodo nel modulo di selezione dell'ambito.

Quando le risorse vengono generate, vengono sempre create nell'ambito corrente selezionato nel pannello. Per visualizzare le risorse in altri ambiti, specificare un nodo o un server diverso nel modulo di selezione dell'ambito.

Tipo dati Stringa
Timeout connessione
Specifica l'intervallo, in secondi, dopo il quale scade una richiesta di connessione e viene generata un'eccezione ConnectionWaitTimeoutException.

L'attesa è necessaria se è stato raggiunto il valore massimo di connessioni (Numero massimo connessioni) in un lotto connessioni particolare. Ad esempio, se Timeout connessione è impostato su 300 e il numero massimo di connessioni è stato raggiunto, il gestore lotti attende 300 secondi per una connessione fisica disponibile. Se la connessione fisica non è disponibile entro quel periodo di tempo, il gestore lotti genera un'eccezione ConnectionWaitTimeoutException. Solitamente, è inutile ritentare il metodo getConnection(), poiché se è necessaria un'attesa più lunga, è necessario impostare su un valore più alto il Timeout connessione. Pertanto se questa eccezione viene rilevata dall'applicazione, l'amministratore deve riesaminare l'uso previsto dell'applicazione e regolare il lotto connessioni e il database in base all'utilizzo.

Se Timeout connessione è impostato su 0, il gestore lotti attende tutto il tempo necessario per allocare una connessione (operazione che viene eseguita quando il numero di connessioni è al di sotto del valore Numero massimo connessioni).

Se Numero massimo connessioni è impostato su 0, che consente un numero infinito di connessioni fisiche, il valore Timeout connessione viene ignorato.

Tipo dati Numero intero
Unità Secondi
Predefinito 180
Intervallo int da 0 al valore massimo
Numero massimo connessioni
Specifica il numero massimo di connessioni fisiche che è possibile creare in questo lotto.

Sono connessioni fisiche alla risorsa di backend. Una volta raggiunto questo numero, non vengono create nuove connessioni fisiche e l'utente resta in attesa fino a quando una connessione fisica, attualmente in uso, viene restituita al lotto o viene generata un'eccezione ConnectionWaitTimeoutException.

Ad esempio, se il valore Numero massimo connessioni è impostato su 5 ed esistono cinque connessioni fisiche in uso, il gestore lotti attende, per il tempo specificato in Timeout connessione, che una connessione si liberi.

Se Numero massimo connessioni è impostato su 0, il valore del timeout connessione viene ignorato.

Per ottenere migliori prestazioni, impostare il valore del lotto connessioni su un valore più basso rispetto all'opzione Numero massimo connessioni nel contenitore Web. Le impostazioni su un valore basso, come ad esempio 10-30 connessioni, hanno un funzionamento migliore delle impostazioni su un valore alto, ad esempio 100.

Se si utilizzano i cloni, esiste per ciascun clone un lotto dati. È importante conoscere il numero dei lotti dati quando si configurano le connessioni massime del database.

È possibile utilizzare il Visualizzatore prestazioni Tivoli per individuare il numero ottimale di connessioni in un lotto. Se il numero di elementi in attesa simultanei è maggiore di 0, ma il carico CPU non si avvicina al 100%, aumentare la dimensione del lotto connessioni. Se il valore Percentuale utilizzata è coerentemente basso con carico di lavoro normale, ridurre il numero di connessioni nel lotto.

Tipo dati Numero intero
Predefinito 10
Intervallo int da 0 al valore massimo
Numero minimo di connessioni
Specifica il numero minimo di connessioni fisiche da mantenere.

Fino a quando non viene raggiunto questo numero, il thread di gestione lotti non elimina le connessioni fisiche. Tuttavia non vengono effettuati tentativi per aumentare il numero di connessioni fino a questo numero. Se viene impostato un valore per Timeout scaduto, il valore minimo non viene mantenuto. Tutte le connessioni con un timeout scaduto vengono eliminate.

Ad esempio, se il valore Numero minimo di connessioni è impostato su 3 e viene creata una connessione fisica, il thread Timeout di non utilizzo non elimina tale connessione. Dallo stesso token il thread non crea automaticamente due connessioni fisiche aggiuntive per raggiungere l'impostazione Numero minimo connessioni.

Tipo dati Numero intero
Predefinito 1
Intervallo int da 0 al valore massimo
Tempo di raccolta
Specifica l'intervallo, in secondi, tra le esecuzioni del thread di gestione lotti.

Ad esempio, se Tempo di raccolta è impostato su 60, il thread di gestione lotti viene eseguito ogni 60 secondi. L'intervallo Tempo di raccolta influisce sulla precisione delle impostazioni Timeout di non utilizzo e Timeout scaduto. Ad un intervallo minore corrisponde una maggiore precisione. Se il thread di gestione lotti è abilitato, impostare il valore Tempo di raccolta su un valore inferiore a Timeout di non utilizzo e Timeout scaduto. Quando il thread di gestione lotti è in esecuzione, elimina le connessioni che risultano non utilizzate per un periodo più lungo rispetto al valore di tempo specificato in Timeout di non utilizzo, fino a che non viene raggiunto il numero di connessioni specificate in Numero minimo connessioni. Il thread di gestione lotti elimina inoltre le connessioni che sono state attive più a lungo del valore specificato in Timeout scaduto.

L'intervallo Tempo di raccolta influisce inoltre sulle prestazioni. Un intervallo minore indica che il thread di gestione lotti verrà eseguito più spesso, degradando le prestazioni.

Per disabilitare il thread di gestione lotti, impostare Tempo di raccolta su 0 o impostare Timeout di non utilizzo e Timeout scaduto su 0. La modalità che si consiglia di seguire per disabilitare il thread di gestione lotti è impostare Tempo di raccolta su 0 in modo da ignorare Timeout di non utilizzo e Timeout scaduto. Tuttavia, se Timeout di non utilizzo e Timeout non scaduto sono impostati su 0, il thread di gestione lotti viene eseguito ma verranno ignorate solo le connessioni fisiche il cui timeout scade su valori non zero.

Tipo dati Numero intero
Unità Secondi
Predefinito 180
Intervallo int da 0 al valore massimo
Timeout di non utilizzo
Specifica l'intervallo in secondi dopo il quale una connessione non utilizzata o inattiva viene eliminata.

Per ottimizzare le prestazioni, impostare Timeout di non utilizzo su un valore superiore a Tempo di raccolta. Le connessioni fisiche non utilizzate vengono eliminate solo se il numero corrente di connessioni in uso non supera l'impostazione Numero minimo connessioni. Ad esempio, se il timeout di non utilizzo viene impostato su 120 e il thread di gestione lotti è abilitato (il tempo di raccolta non è 0), l'eventuale connessione fisica che non viene utilizzata per due minuti viene eliminata. Osservare che la precisione di questo timeout nonché le prestazioni sono influenzate dal valore Tempo di raccolta. Per ulteriori informazioni consultare Tempo di raccolta.

Tipo dati Numero intero
Unità Secondi
Predefinito 1800
Intervallo int da 0 al valore massimo
Timeout scaduto
Specifica l'intervallo in secondi prima che una connessione fisica venga eliminata.

L'impostazione di Timeout scaduto su 0 consente alle connessioni fisiche attive di restare nel lotto per un tempo indeterminato. Per ottimizzare le prestazioni, impostare Timeout scaduto su un valore superiore a Tempo di raccolta. Ad esempio, se Timeout scaduto è impostato su 1200 e Tempo di raccolta su 0, le eventuali connessioni fisiche che sono state attive per 1200 secondi (20 minuti) vengono eliminate dal lotto. Si noti che la precisione di questo timeout, così come le prestazioni, sono influenzate dal valore del tempo di raccolta. Per ulteriori informazioni consultare Tempo di raccolta.

Tipo dati Numero intero
Unità Secondi
Predefinito 0
Intervallo int da 0 al valore massimo
Politica di eliminazione
Specifica come eliminare le connessioni quando viene rilevata una connessione obsoleta o un errore di connessione irreversibile.

I valori validi sono EntirePool e FailingConnectionOnly. Le origini dati JCA possono disporre di una delle due opzioni. Le origini dati WebSphere Version 4.0 hanno sempre una politica di eliminazione EntirePool.

Tipo dati Stringa
Predefinito EntirePool
Intervallo
EntirePool
Tutte le connessioni presenti nel lotto vengono contrassegnate come obsolete. Qualsiasi connessione non in uso viene chiusa immediatamente. Una connessione in uso viene chiusa e, alla successiva operazione su di essa, viene generata una StaleConnectionException. Richieste getConnection successive dall'applicazione determinano nuove connessioni all'apertura del database. Quando si utilizza questa politica di eliminazione, esiste una minima possibilità che alcune connessioni, presenti nel lotto, vengano chiuse inutilmente anche se non sono obsolete. Tuttavia, ciò si verifica raramente. Nella maggior parte dei casi, la scelta migliore è una politica di eliminazione EntirePool.
FailingConnectionOnly
Viene chiusa solo la connessione che ha causato la StaleConnectionException. Sebbene questa impostazione elimini la possibilità che connessioni valide vengano chiuse inutilmente, da una prospettiva dell'applicazione, rende più complicato il ripristino. Poiché viene chiusa solo la connessione che attualmente presenta degli errori, esiste un'ampia possibilità che la richiesta getConnection successiva dall'applicazione restituisca una connessione obsoleta dal lotto, generando ulteriori eccezioni di connessioni obsolete.

Informazioni correlate

Pulsanti della console di gestione
Funzioni della pagina della console di gestione