У меня нет статистики производительности, но, может быть, при использовании пула подключений есть предупреждение: у вас может быть слишком много маленьких пулов вместо одного большого.
ADO.NET создаст новый пул соединений для
каждая строка подключения; это тоже очень требовательно - если у вас есть две строки подключения, которые отличаются даже одним пробелом или чем-то еще, они считаются двумя отдельными строками подключения и приведут к созданию отдельных пулов соединений
для всех учетных данных Windows, если используется параметр «встроенная безопасность» (доверенное соединение)
Так что, если у вас есть строка подключения, что-то вроде
server=MyDBServer;database=MyDatabase;integrated security=SSPI;
Будет создан один пул соединений для каждого различимого пользователя - это довольно нелогично, но так оно и есть (и на него нельзя влиять / отключить).
Ознакомьтесь с документами MSDN о пуле соединений ADO.NET для получения подробной информации:
Когда соединение впервые открывается,
пул соединений создается на основе
алгоритм точного соответствия, который
связывает бассейн с
Строка соединения в соединении.
Каждый пул подключений связан
с отдельной строкой подключения.
Когда открывается новое соединение, если
строка подключения не является точной
соответствует существующему пулу, новому пулу
создано. Соединения объединяются в соответствии
процесс, на домен приложения, на
строка подключения и при интеграции
используется безопасность, для Windows
identity. Строки подключения также должны
быть точным совпадением; ключевые слова предоставлены
в другом порядке для того же
соединение будет объединено отдельно.
Кроме того, если у вас есть две строки подключения:
server=MyDBServer;database=MyDatabase;user id=tom;pwd=top$secret
и
server=MyDBServer;database=MyDatabase;user id=tom; pwd=top$secret;
это считается различными строками соединения, и, таким образом, будут созданы два отдельных пула соединения.
При попытке измерить эффект от пула подключений, об этом следует знать!
Марк