sqlserver 查看数据库连接池

一、SQL 最大并发连接数

顾名思义,SQL 的最大并发连接数就是你可以同时拥有的数据库连接数。

不过,一般情况下,我们感觉不到这个限制,那是因为:默认安装后,最大并发连接数没有限制。如有需要,我们可以手动打开。

设置方法如下:

图片[1]-sqlserver 查看数据库连接池-唐朝资源网

修改后记得重启!

SQL 的最大并发数是多少?

当我们不设置最大并发时,理论上可以无限增加,只要你的硬件支持。我用程序测试,并发链接50000很容易(见下图)。 . 当然,在实际的生产环境中,不可能允许 50000 个并发连接。是否设置最大并发数可根据实际项目情况处理。

图片[2]-sqlserver 查看数据库连接池-唐朝资源网

备注:我在做并发测试的时候,不小心把最大并发连接数设置为1,重启服务器后发现无法连接。差点重装数据库。最后,停止所有非实例服务,使用命令行登录数据库进行修改。因此,即使您正在测试,也不要将其设置得太小。 . .

二、应用程序连接 SQL

参考:关于最大Sql连接数(Max Pool Size)的配置

我们在使用程序访问SQL时,一般设置链接字符串如下:

Data Source=127.0.0.1;Initial Catalog=master;User ID=sa;Password=123456;

其实上面的连接字符串中还有很多其他的参数,比如:

p>

Pooling=true
Max Pool Size=100
Min Pool Size=0
Connect Timeout=15

注意:上面列出的四个参数的默认值为15秒。

所以,上面的连接字符串等价于:

Data Source=127.0.0.1;Initial Catalog=master;User ID=sa;Password=123456;Pooling=true;Max Pool Size=100;Min Pool Size=0;Connect Timeout=15;

调试时可以观察到这些默认值:

图片[3]-sqlserver 查看数据库连接池-唐朝资源网

所以,如果我们在项目中使用这个连接字符串,并且项目访问数据库的并发数比较大,就会出现以下问题:

图片[4]-sqlserver 查看数据库连接池-唐朝资源网

遇到这种问题,我们需要手动把Max Pool Size调大一点,具体多少可以参考项目所能承受的并发量。

那么,上面的参数,Max Pool Size等是什么意思呢?

其实我们在访问数据库的时候使用的技术,微软提供的技术,默认开启了底层的数据库连接池,也就是默认为true。那么默认连接池中的最大连接数据是多少呢?这使得 Max Pool Size 参数。 Min Pool Size 代表连接池中的最小连接数sqlserver查看数据库连接数,代表一个连接请求的最长等待时间。

数据库连接池的一般工作原理如下:

我们在使用连接池的时候,每次创建时,.net都会从连接池中寻找空闲的连接供我们使用,如果没有找到,观察池中的连接数是否超过了的设置最大连接数。如果不超过,将打开一个新连接并返回给我们。如果超过了sqlserver查看数据库连接数,让我们等到有空闲连接返回到池中,如果我们等待超时,就会直接返回异常。另外,当我们用完连接并调用S的Close方法时,.net会自动将连接回收到池中。

© 版权声明
THE END
喜欢就支持一下吧
点赞139 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片