Pool di connessioni
La connessione a un'origine dati può richiedere molto tempo. Per ridurre al minimo il costo dell'apertura delle connessioni, ADO.NET usa una tecnica di ottimizzazione denominata pool di connessioni, riducendo al minimo il costo di apertura e chiusura ripetute delle connessioni. Il pool di connessioni viene gestito in modo diverso per i provider di dati .NET Framework. Mentre il pool di connessioni migliora le prestazioni e l'utilizzo delle risorse, diversi fattori possono influenzare l'efficienza a seconda dell'ambiente e della configurazione del database:
limiti di connessione e vincoli di risorse: In ambienti di database, i limiti di connessione sono spesso associati ai livelli di servizio o alle configurazioni delle risorse. Ad esempio, il database SQL di Azure definisce i limiti di connessione in base al livello di servizio selezionato, mentre Istanza gestita di SQL di Azure applica limiti in base alle risorse allocate, ad esempio CPU, memoria o vCore. Quando le configurazioni del pool di connessioni superano questi limiti, le applicazioni possono riscontrare connessioni rifiutate, limitazioni o prestazioni ridotte.
Metodi di Autenticazione: I meccanismi di autenticazione basati su token, come l'autenticazione di Microsoft Entra ID, possono influire sul raggruppamento delle connessioni a causa della scadenza del token. I token scaduti possono invalidare le connessioni all'interno del pool, interrompendo il riutilizzo. Questo comportamento si verifica nei sistemi di database locali e basati sul cloud che usano protocolli di autenticazione moderni.
Latenza di rete e endpoint: La latenza di rete e le configurazioni degli endpoint possono influenzare l'efficienza del pooling delle connessioni. Gli endpoint pubblici, comunemente usati nei database ospitati nel cloud, in genere introducono una latenza più elevata rispetto alle connessioni private o dirette. Nelle applicazioni native del cloud con indirizzi IP dinamici, il riutilizzo della connessione può essere interrotto se le regole del firewall non vengono aggiornate per supportare la modifica degli indirizzi IP.
Requisiti di crittografia: Database che applicano la crittografia TLS/SSL richiedono l'allineamento tra le configurazioni del pool di connessioni e le impostazioni di crittografia. Ad esempio, l'omissione dei parametri di crittografia necessari nelle stringhe di connessione, ad esempio
Encrypt=True
, può causare errori di connessione, riducendo l'efficienza del pool.risoluzione DNS: endpoint privati e configurazioni DNS personalizzate possono creare difficoltà per il pool di connessioni. Le impostazioni DNS configurate in modo errato o incoerente possono ritardare o bloccare la definizione della connessione, con effetti sulle prestazioni e sull'affidabilità del riutilizzo della connessione. Ciò è particolarmente rilevante negli ambienti con configurazioni di cloud ibrido o privato.
In questa sezione
Pool di Connessione di SQL Server (ADO.NET)
Viene fornita una panoramica del pool di connessioni e viene descritto il funzionamento del pool di connessioni in SQL Server.
Il pool di connessioni OLE DB, ODBC e Oracle
Descrive il pool di connessioni per il provider di dati .NET Framework per OLE DB, il provider di dati .NET Framework per ODBC e il provider di dati .NET Framework per Oracle.