Skip to main content

Cos'è il pooling di connessione?

Il pooling delle connessioni è il termine per la gestione delle connessioni degli utenti che fanno query di database.Sebbene molti utenti potrebbero non se ne accorge, quando esiste un gran numero di utenti che cercano l'accesso a un server delle applicazioni su cui risiede un database, il volume di connessioni puro può diventare quasi impossibile per un server mantenere una buona connessione con tutte le connessioni aquesti tempi.L'ingegneria del software che consente il pooling di connessioni consente a un server di gestire bene le connessioni indipendentemente dall'elevato volume di connessioni che effettuano query e consente la risposta a queste query con velocità sub-secondi.

Le connessioni devono essere di una configurazione identica da includere inPool di connessione, quindi la maggior parte dei programmi di pooling di connessione server dispongono di diversi pool di connessione che eseguono contemporaneamente.Quando un utente cerca di connettersi, viene assegnato a un pool con configurazioni simili, se lo spazio è disponibile.Se non è disponibile spazio, la richiesta viene in fila per essere assegnata non appena si viene disponibile.Un utente potrebbe non essere consapevole che è in coda, ma potrebbe semplicemente notare che il database sembra lento nella risposta delle query;Tuttavia, nel back office dei sistemi di gestione del database, c'è una scansione dei pool per trovare spazio per l'utente per trovare una connessione aperta.La maggior parte dei programmi di pool di connessioni ha un elenco set di utenti massimi per pool e le impostazioni minime di tempo per le quali una connessione può rimanere inattiva prima che la connessione venga eliminaUn certo numero di oggetti di connessione viene creato e aggiunto al pool.Affinché un pool sia considerato attivo, ha bisogno di un numero minimo di oggetti.Questi oggetti di connessione sono i sedili di disponibilità che legano una connessione al pool e possono essere creati e aggiunti al pool, se necessario, fino al massimo consentito all'interno di un pool.Poiché gli utenti sono soddisfatti della loro interrogazione e abbandonare il proprio oggetto di connessione, gli oggetti vengono restituiti al pool dai programmi di impulso di connessione per l'uso da un altro utente o dallo stesso utente quando torna.

Un fattore che può rallentareI tempi di risposta nel pooling di connessione sono ciò che viene chiamato

frammentazione del pool. La frammentazione del pool di solito si verifica a causa della sicurezza integrata o di troppi database che risiedono su un set di server esistenti.Un sistema di gestione del database che autentica gli utenti e quindi la coda o l'assegnazione agli oggetti del pool di connessioni esistenti drena la memoria e una progettazione di sistema più stretta per gli accessi spesso risolve il problema delle database.La progettazione integrata del sistema di sicurezza dei programmi basati su Windows in molti programmi di pooling di connessione richiede che un solo utente basato su Windows risieda all'interno di un pool alla volta.Questo può essere chiarito dalla creazione di più pool per soddisfare ulteriori richieste che devono essere risposte contemporaneamente.

Se il programma di pooling della connessione rileva che un utente è stato inattivo oltre un periodo di tempo prestabilito o la connessione è stata interrotta, restituiràL'oggetto di connessione al pool come oggetto non valido.Se un server si riduce mentre una connessione è in vigore, la connessione può comunque essere ritirata anche se il pool di connessioni non è a conoscenza della connessione recisa.I programmi di pool di connessioni ActiveX di solito procedono quindi a cancellare il pool di queste connessioni man mano che il server viene riavviato.