IIS并发连接数和数据库连接池
一、数据库连接池
1、报错:
超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
2、问题分析:
问题的原因是与数据库的连接没有显示关闭,而等系统自动回收是要时间的.
3、相关知识:
数据库连接数,也就是一个数据库,最多能够同时接受多少个客户的连接.
在没有数据库连接池的情况下, 一个客户,每次访问, 就要创建一个数据库连接, 执行SQL, 获取结果,然后关闭、释放掉数据库连接。问题就在于创建一个数据库连接, 是一个很消耗资源,花费很多时间的操作。于是,数据库连接池产生了。
数据库连接池预先打开一定数量的数据库连接,并维持着连接。当客户要执行SQL语句的时候,从数据库连接池里面获取一个连接,执行SQL, 获取结果,然后把数据库连接交还给数据库连接池。
假如一个session , 执行10次独立的操作。那么不使用数据库连接池的话,需要创建数据库连接10次,并关闭10次。使用数据库连接池的话,直接使用数据库连接池中已经打开好的,直接使用。
4、解决方法
a、在代码里面,把未关闭的数据库连接关闭并释放资源
b、扩大共享池,配置文件里面,在数据库连接加
Max Pool Size=512;server=local;uid=;pwd=;database=2004;
二、IIS并发连接数
1、报错:
HTTP 403.9 - 禁止访问:连接的用户过多
2、相关知识:
IIS并发连接数是指,首先是向服务器请求XXX.html,然后还会请求这个网页里的CSS、JS、图片等,每次请求算一个IIS并发数。简单来说,就是一个文件被一位网友下载,那么从下载开始到下载结束,这段时间将持续占用1个IIS连接数。