现在同一时间对数据库的连接最大只能是10个,那如果这样,同时间访问网站的人肯定不止10个的,这样用户在访问网站时有没有什么影响?可不可以限制同一时间网站对数据库的连接数只最大为10个?谢谢

解决方案 »

  1.   

    同时有10个人访问网站,不代表同时有10个数据库连接,因为数据库连接是使用完就立即关闭的,而且同一时刻并不是所有的用户都需要接数据库要限制的话也可以,在config或者数据库连接字符串设置MaxPoolSize = 10,不过连接池过小而数据库访问频繁的话很容易出现超过最大连接数的异常
      

  2.   

    但如果同时有10万个人访问网站,那同时有10个人访问的数据库的机率就大很多了,如果这样IIS会不会自动让未获得连接的用户在排队的?因为现在的数据库并行连接数只有10个
      

  3.   

    但如果同时有10万个人访问网站,那同时有10个人访问的数据库的机率就大很多了,如果这样IIS会不会自动让未获得连接的用户在排队的?因为现在的数据库并行连接数只有10个
    ============================================
    即使有10000万个人访问网站,也只有一台IIS服务器访问数据库。
      

  4.   

    同时有10个人访问网站,不代表同时有10个数据库连接,因为数据库连接是使用完就立即关闭的,而且同一时刻并不是所有的用户都需要接数据库这话太对了!即使数据库只开一条,用户还是感觉不到,因为它和CPU对程序的处理是差不多的!
      

  5.   

    “现在同一时间对数据库的连接最大只能是10个”哪个数据库有此限制?本地机器对数据库的500个连接也是可以的,而10个远程机器对数据库的5个连接也许就被禁止了。你要仔细看看你的数据库到底是怎么计算链接数的,以及到底你发现的链接限制是数据库的还是操作系统的。使用Windows2003(安装时可以制定链接限制数量)、SQL Server2005,有500个连接没有问题。
      

  6.   

    你只要保证你的application里面同时只有10个SQL connection就好了,然后保证这台服务器上只有一个application
      

  7.   

    另外,你不要使用 XP 做服务器操作系统,XP本来就是个人桌面系统。
      

  8.   

    SQL Server可以使用这两个查询连接数:
      @@CONNECTIONS
      @@MAX_CONNECTIONS
    查一下你的SQL Server联机文档中的说明,再查一下你的数据库到底是不是限制10个连接。这个参数可以在数据库上配置。
      

  9.   

    我估计是某系统中的一个web,和其他子系统共用一个数据库,为了防止web占用太多连接,拖垮数据库导致整个系统瘫痪,故而只允许web有10个并发以前碰到过这类情况,是自己实现数据库连接管理来实现的
      

  10.   

    我的web服务器是window 2003 数据库是oracle 10g 客户购买的时候是按连接数购买,只买了10个连接.
      

  11.   

    shalen520(Love will keep us alive) ( ) 
    我估计是某系统中的一个web,和其他子系统共用一个数据库,为了防止web占用太多连接,拖垮数据库导致整个系统瘫痪,故而只允许web有10个并发以前碰到过这类情况,是自己实现数据库连接管理来实现的你说得很正确,因为还有服务程序不断地在后台执行,服务程序是不可能不占用连接的,所以只能分配10个连接给网页.
      

  12.   

    同意shalen520的看法,对连接数有要求的场合或许自己实现连接池是必要的,程序里也比较好控制连接数耗尽的情况下的后续处理。
      

  13.   

    因为我们开了几个PLSQL Developer来连接,其实装了一些服务程序,服务程序里要进行数据库操作时,很久都不能更新数据,提示"用户取消操作"的错误,但如果关了一个PLSQL Developer就正常,有关客户那边也证实了只开放10个连接