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连接数。

时间: 2024-10-28 18:41:51

IIS并发连接数和数据库连接池的相关文章

如何查看IIS与MSSQL数据库连接池

1. 打开IIS服务器windows任务管理器,进程,找到对应进程的PID,如下图: 2. 打开dos命令提示符窗口,输入netstat –ano |findstr "6408" >d:6408.txt 3. 打开对应的数据库实例,查询以下结果        SELECT hostname, hostprocess,status,* FROM master..sysprocesses where hostprocess = '6408'

日常工作--IIS修改增加最大数据库连接池

1. 在全局配置文件中的 GSPDbConfiguration 需要修改数据库连接池的连接上面都增加上节点: MaxPoolSize = "100" 效果 即可 因为产品增加了对Oracle ODP.net的驱动 如果是oracle数据库的话 可以增加 Provider="Oracle.DataAccess.OracleClient" 的方式来进行兼容支持. IIS的一些设置也可以改善一下 提高性能

数据库连接池和connection的理解

数据库连接池Data Source Pool的理解 1.数据库连接池允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个连接,避免了每个方法里new connection的耗费资源和时间. 2.数据库连接池是在项目启动时候初始化的,以方便程序运行时,随时可以调用这些已经被创建好的connection.只需要getConnection()就好. connection的建立.断开都由连接池自身来管理. 3.创建connection是个很耗时的操作,所以建议在项目启动的时候去创建connec

MySql 数据库连接池

最近发布的一个项目总是无缘无故的断线,在IIS机器上直接浏览也不会出现黄页面,就是一直加载,最后断线. 重启IIS后恢复正常. 经过几次后,查看了IIS日志和WINDOWS日志,在WINDOWS日志中发现错误信息如下: <Data>error connecting: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred b

在JAVA中实现JDBC数据库连接池

[转自e良师益友网]Java程序员都很羡慕Windows ADO ,只需要new Connection 就可以直接从数据库连接池中返回Connection.并且 ADO Connection 是线程安全的,多个线程可以共用一个Connection,所以ASP程序一般都把getConnection 放在 Global.asa 文件中,在 IIS 启动时建立数据库连接.ADO 的Connection 和Result 都有很好的缓冲,并且很容易使用.推荐学习尚硅谷JDBC视频教程. 其实我们可以自己写

数据库连接池技术

mysql是线程模式,可以支持更多的并发连接数,mysql能支持远比oracle更多的连接,所以oracle应用中通常用数据库连接池技术来复用连接,那么mysql为什么要用常见的数据库连接池技术呢? 原因在于mysql的锁机制还不够完善,同时程序中的一些问题都有可能导致mysql数据库的连接阻塞,在并发大的情况下,就会浪费很多连接资源和反复连接的消耗. 使用数据库连接池,让连接进行排队和复用,一定程度上可以缓解高并发下的连接压力. mysql瓶颈是真是存在的,很多互联网大公司仍然使用mysql,

[转]阿里巴巴数据库连接池 druid配置详解

一.背景 java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色的性能,也逐渐映入了大家的眼帘.接下来本教程就说一下druid的简单使用. 二.jar包下载.配置详解及配置示例 1.jar获取 可以从 http://repo1.maven.org/maven2/com/alibaba/druid/ 下载最新的jar包.如果想使用最新的源码编译,也可以从 http

数据库连接池的选择 Druid

我先说说数据库连接 数据库大家都不陌生,从名字就能看出来它是「存放数据的仓库」,那我们怎么去「仓库」取东西呢?当然需要钥匙啦!这就是我们的数据库用户名.密码了,然后我们就可以打开门去任意的存取东西了.这个时候,我们与数据库之间的连接就是「数据库连接」. 这个时候问题就来了,当我们仅仅只需要去取一个东西的时候,我们取完东西随手关上门,然后拔出钥匙,这完全是再正常不过的流程了,完全没毛病,但是,我们大部分时间是需要一件件的把仓库中的东西搬到外面停放的大卡车上,那这时候我们如果取一件东西把门锁上,然后

Java之中JDBC数据库连接池实现方法

作为一名初级Java程序员都很羡慕Windows ADO ,只需要new Connection 就可以直接从数据库连接池中返回Connection.并且 ADO Connection 是线程安全的,多个线程可以共用一个Connection,所以ASP程序一般都把getConnection 放在 Global.asa 文件中,在 IIS 启动时建立数据库连接.ADO 的Connection 和Result 都有很好的缓冲,并且很容易使用. 其实我们可以自己写一个JDBC数据库连接池. 写JDBC