Utilizzare questa pagina per configurare le impostazioni del pool connessioni.
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 atteso da una richiesta di connessione se non vi sono altre connessioni disponibili nel pool libero e non è possibile creare nuove connessioni. Ciò generalmente avviene poiché è stato raggiunto il valore massimo di connessioni nel pool di connessioni particolare.
Ad esempio, se il timeout connessione è impostato a 300 e il numero massimo di connessioni è in uso, il gestore pool attende che una connessione fisica diventi disponibile per 300 secondi. Se in questo intervallo di tempo la connessione fisica non è ancora disponibile, il gestore pool genera un'eccezione ConnectionWaitTimeout. Nella maggior parte dei casi, non è opportuno tentare nuovamente il metodo getConnection(); se è necessaria un'attesa più lunga, aumentare il valore dell'impostazione Timeout connessione. Se l'applicazione rileva un'eccezione ConnectionWaitTimeout, rivedere l'utilizzo del pool di connessioni previsto da parte dell'applicazione e regolare opportunamente il pool di connessioni e il database.
Se il timeout connessione è impostato a 0, il gestore pool rimane in attesa finché una connessione non diventa disponibile. Ciò accade quando un'applicazione completa una transazione e restituisce una connessione al pool, 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 connessioni è impostato a 0, che consente un numero infinito di connessioni fisiche, il valore Timeout connessione viene ignorato.
Tipo dati | Numero intero |
Unità di misura | Secondi |
Valore predefinito | 180 |
Intervallo | int da 0 al valore massimo |
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 pool o viene generata un'eccezione ConnectionWaitTimeoutException. Ad esempio: se il valore Numero massimo connessioni è impostato a 5 ed esistono cinque connessioni fisiche in uso, il gestore pool attende, per il tempo specificato in Timeout connessione, che una connessione si liberi.
Conoscere il numero di pool connessione che possono potenzialmente richiedere connessioni dal backend (come database DB2 o un server CICS) aiuta a determinare un valore per la proprietà Numero massimo connessioni.
Per più server delle applicazioni individuali che utilizzano la stessa configurazione dell'origine dati o della factory di connessione J2C, esiste un pool connessioni fisico separato per ogni server. Se questi stessi server vengono clonati, WebSphere Application Server implementa un pool connessioni separato per ogni clone.
Considerare il numero di servant che accedono alla stessa risorsa: al runtime questa cifra praticamente moltiplica l'impostazione di Numero massimo connessioni. Se i servant invocano la stessa connessione dell'origine dati JDBC o della factory di connessione J2C, WebSphere Application Server implementa un pool connessioni fisico per ogni server. Dunque, lo stesso lotto connessioni si trova, indipendentemente, in ogni servant. Le impostazioni di Numero massimo connessioni si applicano ad ognuno di questi pool.
Tutti questi pool corrispondono alla stessa configurazione dell'origine dati o della factory di connessione. Perciò tutti questi pool connessione possono potenzialmente richiedere connessioni per la stessa risorsa backend, nello stesso momento. Il singolo valore Numero massimo connessioni impostato sul pannello della console viene applicato ad ognuno di questi pool. Di conseguenza, impostare un alto valore di Numero massimo connessioni può dare come risultato una serie di richieste di carico di connessioni che eccede la risorsa di backend.
In potenza, tutte le applicazioni che richiedono origine dati o factory di connessione in questi servant possono tentare di utilizzare la risorsa simultaneamente. Dunque i pool connessione corrispondenti richiedono connessioni dallo stesso backend, nello stesso momento.
Non impostare un valore di Numero massimo connessioni che possa provocare un sovraccarico da parte delle richieste di carico delle connessioni al database o ad altri EIS (Enterprise Information System).
Tipo dati | Numero intero |
Valore predefinito | 10 |
Intervallo | Da 0 al numero intero massimo Se Numero massimo connessioni è impostato a 0, il valore del timeout connessione viene ignorato. |
È possibile utilizzare Tivoli Performance Viewer per individuare il numero ottimale di connessioni in un pool. Se il numero di elementi in attesa simultanei è maggiore di 0, ma il carico della CPU non si avvicina al 100%, aumentare la dimensione del pool connessioni. Se il valore Percentuale utilizzata è coerentemente basso con carico di lavoro normale, ridurre il numero di connessioni nel pool.
Specifica il numero minimo di connessioni fisiche da mantenere.
Se la dimensione del pool di connessioni è impostata sulla dimensione minima del pool di connessioni o su un valore inferiore, il thread Timeout di non utilizzo non elimina le connessioni fisiche. Tuttavia, il pool non crea le connessioni solo per garantire il mantenimento della dimensione minima del pool connessioni. Inoltre, se si imposta un valore per Timeout scaduto, le connessioni scadute vengono eliminate, indipendentemente dall'impostazione minima della dimensione di un pool.
Ad esempio, se il valore Numero minimo di connessioni è impostato a 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 |
Valore predefinito | 1 |
Intervallo | int da 0 al valore massimo |
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. Se viene eseguito il thread di gestione pool, questo annulla le connessioni rimaste inutilizzate più a lungo del valore temporale specificato in Timeout di non utilizzo, fino a quando non viene raggiunto il numero di connessioni specificato 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à di misura | Secondi |
Valore predefinito | 180 |
Intervallo | int da 0 al valore massimo |
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 non supera l'impostazione Numero minimo connessioni. Ad esempio, se il timeout di non utilizzo viene impostato a 120 e il thread di gestione pool è abilitato (il tempo di raccolta non è 0), l'eventuale connessione fisica che non viene utilizzata per due minuti viene eliminata.
L'accuratezza e le prestazioni di questo timeout sono influenzate dal valore Tempo di raccolta. Per ulteriori informazioni, consultare Tempo di raccolta.
Tipo dati | Numero intero |
Unità di misura | Secondi |
Valore predefinito | 1800 |
Intervallo | int da 0 al valore massimo |
Specifica l'intervallo in secondi prima che una connessione fisica venga eliminata.
L'impostazione Timeout scaduto su 0 consente alle connessioni fisiche attive di rimanere nel pool per un tempo indefinito. 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. L'unica eccezione si verifica se la connessione è implicata in una transazione quando viene raggiunto il valore di timeout scaduto, caso in cui il server delle applicazioni non annullerà la connessione fino a quando la transazione non viene completata e la connessione viene chiusa.
L'accuratezza e le prestazioni di questo timeout sono influenzate dal valore Tempo di raccolta. Per ulteriori informazioni, consultare Tempo di raccolta.
Tipo dati | Numero intero |
Unità di misura | Secondi |
Valore predefinito | 0 |
Intervallo | int da 0 al valore massimo |
Specifica come eliminare le connessioni quando viene rilevata una connessione obsoleta o un errore di connessione irreversibile.
I valori validi sono EntirePool e FailingConnectionOnly.
Tipo dati | Stringa |
Valori predefiniti |
|
Intervallo |
|
I collegamenti contrassegnati (online) richiedono un accesso a Internet.