.NET 数据访问架构指南4

时间:2010-02-01 10:02:15  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:过程结束,池才被取消。        你可以透明地使用此种链接池,但应当清楚池是如何被管理的,并要知道可以用哪些选项来调整链接池。        如何配置SQL Server .NET数据供应器链接池        可以使用一组名称-值对以链接字符串的形式配置链接池。例如,可以配置池是否有效(默认...
  正文:用SQL Server .net 数据供应器池化
  
    如果正在使用SQL Server .NET数据供应器,那么就可使用该供应器提供的链接池化支持特性。它是由供应器在管理代码内内置实现的对事务敏感的高效机制。每个过程都将创建池,并且直到过程结束,池才被取消。
  
    你可以透明地使用此种链接池,但应当清楚池是如何被管理的,并要知道可以用哪些选项来调整链接池。
  
    如何配置SQL Server .NET数据供应器链接池
  
    可以使用一组名称-值对以链接字符串的形式配置链接池。例如,可以配置池是否有效(默认是有效的),池的最大、最小容量,用于打开链接的排队请示被阻断的时间。下面的示例字符串配置了池的最大和最小容量。
  
  "Server=(local);
  Integrated Security=SSPI;
  Database=Northwind;
  Max Pool Size=75;
  Min Pool Size=5"
  
    当链接打开,池被创建时,多个链接增加到池中以使链接数满足所配置的最小值。此后,链接就能增加到池中,直到配置的最大池计数。当达到最大计数时,打开新链接的请求将排队一段可配置的时间。
  
    选择池容量
  
    能建立最大极限对于管理几千用户同时发出请求的大型系统来说是非常重要的。你需要监视链接池及应用程序的性能,以确定系统的最优池容量。最优容量还要依赖于运行SQL Server的硬件。
  
    在开发期间,也许需要减小默认的最大池容量(目前是100)以帮助查找链接泄漏。
  
    如果设立了最小池容量,那么当池最初被填充以达到该值时,会导致一些性能损失,尽管最初链接的几个客户会从中受益。注意,创建新链接的过程被序列化了,这就意味着当池最初被填充时,服务器无法处理同时发生的请求。
  
    更多信息
  
    在使用SQL Server .NET数据供应器链接池时,必须清楚:链接是通过对链接字符串精确匹配的法则被池化的。池化机制对名称-值对间的空格敏感。例如,下面的两个链接字符串将生成单独的池,因为第二个字符串包含了一个额外的空字符。
  
  SqlConnection conn = new SqlConnection( "Integrated Security=SSPI;Database=Northwind");
  conn.Open(); // Pool A is created
  SqlConmection conn = new SqlConnection( "Integrated Security=SSPI ; Database=Northwind");
  conn.Open(); // Pool B is created (extra spaces in string)
  
  
  在.NET框架Beta版中,当在调试器中运行时,链接池化总是失效了。在调试器外,对调试版和发行版,链接池都能正常运作。.NET框架的最终发行版(RTM)取消了这种限制,链接池在所有情况下都能运行。
  
  
  链接池被划分为了多个特定于事务的池和一个用于目前没有列在事务中的多个链接的池。对于与特定事务上下文相关的线程,将从(包含了与事务建立的链接的)合适的池中返回链接。这使得使用已建立的链接成为透明过程。
    用OLE DB .NET数据供应器池化
  
    OLE DB .NET数据供应器利用OLE DB资源池化的底层服务将链接存储到池中。很多方法可用于配置资源池化:
  
  可以使用链接字符串来配置、使能资源池化或使其使失效。
  
  
  可以使用注册表
  
  
  可以通过程序来配置资源池化。
    为了避开与注册表相关的部署问题,应避免使用注册表配置OLE DB资源池化。
  
    关于OLE DB 资源池化的更多细节,见MSDN中“OLE DB程序员参考”一书的第19章:OLE DB服务中的资源池化部分。
  
    用池化对象管理链接池化
  
    作为Windows DNA开发人员,建议你使OLE DB资源池化和/或ODBC链接池化失效,并把COM+对象池化用作将数据库链接存储到池中的技术。这样做主要出于两个原因:
  池容量和极限可以(在COM+目录)被明确配置。
  
  
  性能提高了。池化对象的方法可以成倍的胜过固有池化。

.NET 数据访问架构指南4》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/12690.html


关键字:

关于《.NET 数据访问架构指南4》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td