Help and Support

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 delegationPooling without delegationNo pooling with or without delegation
Number of poolsN (the number of users)10
Number of connections at any timeThe sum of the maximum number of connections that are opened by each account identityThe maximum number of the connections that were ever used at any timeThe number of the connections that are currently open
PerformanceThe 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 ServicesHighMediumLow
SQL Server resourcesHigh 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:
http://msdn2.microsoft.com/en-us/library/ms998351.aspx (http://msdn2.microsoft.com/en-us/library/ms998351.aspx)
http://msdn2.microsoft.com/en-us/library/ms810829.aspx (http://msdn2.microsoft.com/en-us/library/ms810829.aspx)

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

Keywords: 
kbhowto kbinfo kbexpertiseadvanced KB947062

Back to the top

Article Translations

 

Other Support Options

  • Contact Microsoft
    Phone Numbers, Support Options and Pricing, Online Help, and more.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.