Microsoft Knowledge Base Email Alertz

The effects of delegation on connection pooling

Search KbAlertz

Advanced Search

Receive Microsoft Knowledge Base articles by E-Mail?

Every night we scan the Microsoft Knowledge Base. If technologies you're interested in are updated, we'll send you an e-mail. You only get one e-mail a day, and only when new articles are added.

Click here to create a
FREE account
Already have an account?
[Click here to Login]











Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks

Article ID: 947062 - Last Review: January 21, 2008 - Revision: 1.2

The effects of delegation on connection pooling in Data Access Components and in the .NET Framework

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.

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.
Collapse this tableExpand this table
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.

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)

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
Keywords: 
kbexpertiseadvanced kbhowto kbinfo KB947062
       

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