Microsoft Knowledge Base Article
This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved.
Terms
of Use |
Trademarks
The effects of delegation on connection pooling in Data Access Components and in the .NET Framework
| Article ID | : | 947062 |
| Last Review | : | January 21, 2008 |
| Revision | : | 1.1 |
SUMMARY
Delegation lets
you use an impersonation token to access network resources. The ability to
use delegation depends on the selected authentication mechanism and an
appropriate account configuration.
Back to the top
MORE INFORMATION
For
Open Database Connectivity (ODBC), OLE DB,
and Microsoft ADO.NET managed providers, connection pooling creates and maintains
a group of connections to databases or to other data stores. Connection
pooling uses
connections
from this group when you later
request a connection to that data store.
Applications open a connection to a data store, and then release the connection. The connection is added to the pool of connections that have complete authentication information and connection properties. Then, if the connection is available, applications can reuse it for requests to the same data store. The data store has the same user authentication information and connection properties.
When connection pooling is enabled, a
separate connection pool is created for each unique combination of a Windows
account token and a connection string. The following table summarizes the performance concerns and scalability concerns for different connection pooling configuration settings and delegation configuration settings.
| Pooling with delegation | Pooling
without delegation | No pooling
with or without delegation |
| Number of pools | N (the number of
users) | 1 | 0 |
| Number of connections at any time | The sum of
the maximum number of connections that are opened by each account
identity | The maximum number of the connections that were ever used at
any time | The number of the connections that are currently open |
| Performance | The performance is good. However,
the connection pool may use more unnecessary connections, especially if many users
want to change the use
of the connections periodically.
Connections that
remain in the
connection pools are dedicated to
a user, even if the user is not using the operating system any longer. | This option provides the best performance. A single connection pool
is shared by everyone because the same account is used to connect to Microsoft
SQL Server. | The performance is lower than the other two options,
but performance is acceptable.
SQL Server must constantly
process the additional logins and logouts.
This can be monitored by using Performance Monitor (perfmon). |
| Client resources for the application on a server that is running Internet Information Services | High | Medium | Low |
| SQL Server resources | High number of concurrent connections.
Low number of logins or logouts per second. | Medium number of concurrent
connections. Lowest number of logins or logouts per second. | Low number
of concurrent connections. Higher number of logins or logouts per second. |
Note Connection pooling may produce poor
results in delegation scenarios where there are many unique accounts.
In these situations, you can disable connection pooling to maintain scalability
and stability.
Back to the top
REFERENCES
For more information, visit the following Microsoft Web
sites:
Back to the top
APPLIES TO
| • | Microsoft Data Access Components 2.1 |
| • | Microsoft Data Access Components 2.5 |
| • | Microsoft Data Access Components 2.6 |
| • | Microsoft Data Access Components 2.7 |
| • | Microsoft Data Access Components 2.8 |
| • | Microsoft .NET Framework 1.0 |
| • | Microsoft .NET Framework 1.1 |
| • | Microsoft .NET Framework 2.0 |
Back to the top
Community Feedback System
Very often, it takes hours to solve a problem. Very often, you've looked high
and low, and have tried a lot of solutions. When you finally found it, chances
are, it was because someone else helped you. Here's your chance to give back.
Use our community feedback tool to let others know what worked for you and what
didn't.
Please also understand that the community feedback system is not warranted to be
correct, it's simply a system that we've built to let people try and help each
other. If something in a feedback response doesn't make sense to you, or you're
not comfortable making changes that the feedback talks about (like registry
edits), please consult a professional.
Thank you for using kbAlertz.com Feedback System.
-- Scott Cate
Be the first to leave feedback, to help others about this knowledge base
article.
(Optional) Name
(Optional)
Public URL Or Email
Comments
No
HTML -- Text Only Please