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