打开与关闭数据库连接是比较费时的。为此,ADO.NET自动将数据库连接存放在连接池中。连接池可以大大提高数据读取性能,因为不必等待建立全新的数据库连接,而可以直接利用连接池中现成的数据库连接。关闭连接时,并不是实际关闭连接,而是将连接标为未用,放在连接池中,以备下一次启用。如果在连接字符串中提供相同的细节(同样的数据库、用户名、口令等),则可以取得并返回池中的连接。然后可以用这个连接访问数据库。
使用SqlConnection对象时,可以在连接字符串中指定max pool size表示连接池中允许的最大连接数,默认为100,也可以指定min pool size表示连接池中允许的最小连接数,默认为0。
在连接字符串中设置代码如下:
string cstr=“server=\\audi\server;database=oa;uid=sa;pwd=sa;max pool size=10;min pool size=5;connection timeout=10”
SqlConnection con=new SqlConnection(@cstr);
上面的连接字符串中对连接池的设置表示最初在连接池中生成五个SqlConnection对象并且连接池中最多可以存储10个SqlConnection对象。如果要打开新的SqlConnection对象时,连接池中的对象全部都在使用中,则请求要等待一个SqlConnection对象关闭,然后才返回对象,供程序使用。如果请求等待时间超过ConnectionTimeout属性指定的秒数,则会抛出异常。
 
监视链接池化

  要监视应用程序对链接池化的应用情况,可以使用随SQL Server发行的Profiler工具,或随微软Windows 2000发行的性能监视器。

  要利用SQL Server Profiler 监视链接池化,操作如下:
  1. 单击开始,指向程序,指向Microsoft SQL Server,然后单击Profiler运行Profiler。

  2. 文件菜单中,指向新建,然后单击跟踪

  3. 提供链接内容,然后单击确定

  4. 跟踪属性对话框中,单击事件标签。

  5. 已选事件类别列表中,确保审核登录审核登出事件显示在安全审核下面。

  6. 单击运行开始跟踪。在链接建立时,将会看到审核登录事件;在链接关闭时看到审核登出事件。
  要通过性能监视器监视链接池化,操作如下:
  1. 单击开始,指向程序,指向管理工具,然后单击性能运行性能监视器。

  2. 在图表背景中右击,然后单击增加计数器。

  3. 在性能对象下拉列表框中,单击SQL Server:通用统计。

  4. 在出现的列表中,单击用户链接。

  5. 单击增加,然后单击关闭。
  注意 .NET框架的RTM版本将另外包含一组ADO .NET性能计数器(这些计数器能与性能监视器结合起来使用),这些计数器用于为SQL Server .NET数据供应器监视并积累链接池化状态。
posted on 2010-10-22 12:37  aparche  阅读(4057)  评论(0编辑  收藏  举报