Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

jak pula połączeń z bazą danych wpływa na wydajność?

Nie mam pod ręką żadnych statystyk wydajności, ale może słowo ostrzeżenia podczas korzystania z puli połączeń:możesz skończyć ze zbyt wieloma małymi pulami zamiast jednej dużej.

ADO.NET utworzy nową pulę połączeń dla

  • każdy ciąg połączenia; jest bardzo również pod tym względem wybredne - jeśli masz dwa parametry połączenia, które różnią się nawet jedną spacją lub czymś, są one uważane za dwa oddzielne parametry połączenia i prowadzą do tworzenia oddzielnych pul połączeń

  • dla każdego poświadczenia systemu Windows w przypadku korzystania z ustawienia „zintegrowane zabezpieczenia” (zaufane połączenie)

Więc jeśli masz ciąg połączenia, coś w rodzaju

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

zostanie utworzona jedna pula połączeń dla każdego rozróżnialnego użytkownika - jest to raczej sprzeczne z intuicją, ale tak właśnie jest (i nie można na to wpłynąć / wyłączyć).

Zapoznaj się z dokumentacją MSDN w sprawie puli połączeń ADO.NET, aby uzyskać szczegółowe informacje:

Ponadto, jeśli masz te dwa parametry połączenia:

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

i

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

te są uważane za inne parametry połączenia, a tym samym zostaną utworzone dwie oddzielne pule połączeń.

Podczas próby zmierzenia efektu puli połączeń należy o tym pamiętać!

Marek



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przenieś pliki bazy danych SQL Server 2008 do nowej lokalizacji folderu

  2. Blokowanie, blokowanie, blokowanie w DBA Drzwi z blokowaniem SQL Server

  3. Określ, jaki użytkownik utworzył obiekty w SQL Server

  4. UPDATE rekord w jednej bazie danych z wartościami z innej w SQL Server 2008?

  5. Czy dostawca Microsoft OLE DB dla SQL Server obsługuje TLS 1.2?