Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

in che modo il pool di connessioni al database influisce sulle prestazioni?

Non ho statistiche sulle prestazioni a portata di mano, ma forse un avvertimento quando si utilizza il pool di connessioni:potresti ritrovarti con troppi pool piccoli, invece di uno grande.

ADO.NET creerà un nuovo pool di connessioni per

  • ogni stringa di connessione; è molto schizzinoso anche su questo:se hai due stringhe di connessione che sono diverse anche solo per un singolo spazio o qualcosa del genere, quelle sono considerate due stringhe di connessione separate e porteranno alla creazione di pool di connessioni separati

  • per ogni credenziale di Windows se si utilizza l'impostazione "sicurezza integrata" (connessione affidabile)

Quindi, se hai una stringa di connessione simile a

server=MyDBServer;database=MyDatabase;integrated security=SSPI;

verrà creato un pool di connessioni per ogni utente distinguibile - è piuttosto controintuitivo, ma è così (e non può essere influenzato / disattivato).

Consulta i documenti MSDN sul pool di connessioni ADO.NET per i dettagli:

Inoltre, se hai queste due stringhe di connessione:

server=MyDBServer;database=MyDatabase;user id=tom;pwd=top$secret

e

server=MyDBServer;database=MyDatabase;user id=tom; pwd=top$secret;

quelli sono considerati diversi stringhe di connessione e quindi verranno creati due pool di connessione separati.

Quando si tenta di misurare l'effetto del pool di connessioni, questo è qualcosa di cui essere consapevoli!

Marco