WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 Sistemi operativi: AIX, HP-UX, Linux, Solaris, Windows

Impostazioni del lotto connessioni

E' possibile modificare i valori di varie proprietà di un lotto connessioni sul pannello delle proprietà del lotto connessioni della console di gestione.

Scopo

Il pannello delle impostazioni del lotto connessioni viene utilizzato per assegnare valori di proprietà generali per la produzione connessioni. E' possibile modificare proprietà come timeout, politiche di eliminazione e limiti di connessione.

Scheda Configurazione

Timeout connessione

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

Questo valore indica il numero di secondi attesi da una richiesta di connessione quando non sono disponibili connessioni nel lotto libero e non è possibile creare nuove connessioni, generalmente perché il valore massimo di connessioni nel particolare lotto di connessioni è stato raggiunto. Ad esempio, se il timeout connessione è impostato su 300 e il numero massimo di connessioni è in uso, il gestore lotti attende che una connessione fisica diventi disponibile per 300 secondi. Se in questo intervallo di tempo la connessione fisica non è ancora disponibile, il gestore lotti genera un'eccezione ConnectionWaitTimeout. Normalmente, è inutile ritentare il metodo getConnection(); se è necessaria un'attesa più lunga, il Timeout connessione deve essere impostato su un valore più alto. Se l'applicazione rileva un'eccezione ConnectionWaitTimeout, l'amministratore deve riesaminare l'uso previsto del lotto connessioni dell'applicazione e regolare, di conseguenza, il lotto connessioni e il database.

Se il timeout connessione è impostato su 0, il gestore lotti rimane in attesa finché una connessione non diventa disponibile. Ciò accade quando un'applicazione completa una transazione e restituisce una connessione al lotto, oppure quando il numero di connessioni scende al di sotto del valore indicato da Numero massimo di connessioni, consentendo la creazione di una nuova connessione fisica.

Se Numero massimo di connessioni è impostato su 0, che consente un numero infinito di connessioni fisiche, il valore Timeout connessione viene ignorato.
Tipo dati Numero intero
Unità Secondi
Valore predefinito 180
Intervallo int da 0 al valore massimo
Numero massimo di 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 il richiedente resta in attesa fino a quando una connessione fisica, attualmente in uso, non viene restituita al lotto o non viene generata un'eccezione ConnectionWaitTimeout.

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 fisica si liberi.

Se Numero massimo di connessioni è impostato su 0, il lotto connessioni può aumentare all'infinito. In questo modo, però, il valore di Timeout connessione viene ignorato.

Se più server delle applicazioni autonomi utilizzano la stessa origine dati, esiste un lotto per ogni server delle applicazioni. Se vengono utilizzati cloni, esiste un lotto dati per ogni clone. E' importante conoscere il numero dei lotti dati quando si configura il numero massimo di connessioni.

E' possibile utilizzare Tivoli Performance Viewer 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 un carico di lavoro normale, ridurre il numero di connessioni nel lotto.
Tipo dati Numero intero
Valore predefinito 10
Intervallo int da 0 al valore massimo
Numero minimo di connessioni

Specifica il numero minimo di connessioni fisiche da mantenere.

Se la dimensione del lotto di connessioni è impostata sulla dimensione minima del lotto di connessioni o su un valore inferiore, il thread Timeout di non utilizzo non elimina le connessioni fisiche. Tuttavia, il lotto non crea le connessioni solo per garantire il mantenimento della dimensione minima del lotto connessioni. Inoltre, se si imposta un valore per Timeout scaduto, le connessioni scadute vengono eliminate, indipendentemente dall'impostazione minima della dimensione di un lotto.

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 di connessioni.
Tipo dati Numero intero
Valore 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 del 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 nel numero minimo di connessioni. Il thread di gestione lotti elimina inoltre le connessioni che sono rimaste 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 eliminate solo le connessioni fisiche il cui timeout scade su valori non zero.
Tipo dati Numero intero
Unità Secondi
Valore 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 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. Si noti che la precisione di questo timeout, come anche le prestazioni sono influenzate dal valore Tempo di raccolta. Per ulteriori informazioni consultare Tempo di raccolta.

Tipo dati Numero intero
Unità Secondi
Valore 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 il valore Timeout scaduto è impostato su 1200 e il valore Tempo di raccolta non è 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, come anche le prestazioni sono influenzate dal valore Tempo di raccolta. Per ulteriori informazioni consultare Tempo di raccolta.

Tipo dati Numero intero
Unità Secondi
Valore 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: tutte le connessioni 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 quella connessione, genera un'eccezione causata da una connessione obsoleta. Richieste getConnection() successive da parte dell'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 molto raramente. Nella maggior parte dei casi, la scelta migliore è una politica di eliminazione EntirePool.
  • FailingConnectionOnly: viene chiusa solo la connessione che ha causato l'eccezione per connessione obsoleta. Sebbene questa impostazione elimini la possibilità che connessioni valide vengano chiuse inutilmente, da una prospettiva dell'applicazione, rende più complicato il ripristino. Viene chiusa solamente la connessione attualmente in errore, pertanto vi è una buona probabilità che la richiesta getConnection() successiva da parte dell'applicazione restituisca anch'essa una connessione obsoleta del lotto, generando ulteriori eccezioni per connessioni obsolete. La funzione di verifica preliminare delle connessioni consente di separare un'applicazione dalle connessioni, raggruppate in lotti, non valide. Quando una risorsa backend, ad esempio un database, si arresta, è possibile che le connessioni raggruppate in lotti non valide siano presenti nel lotto libero. Ciò si verifica in special modo quando la politica di eliminazione è failingConnectionOnly; in questo caso, la connessione in errore viene eliminata dal lotto. A seconda dell'errore verificatosi, le connessioni rimanenti nel lotto potrebbero non risultare valide.
Tipo dati Stringa
Valore predefinito EntirePool
Attività correlate
Impostazione proprietà generali per lotti connessioni

Reference topic

Condizioni di utilizzo | Valuta questa pagina

Timestamp iconUltimo aggiornamento: 5 Mar 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.websphere.wesb.doc.nl1_6.0.1\doc\rdep_connpoolsettings.html

(C) Copyright IBM Corporation 2005. Tutti i diritti riservati.
Questo information center è sviluppato con tecnologia Eclipse. (http://www.eclipse.org)