none
老是timeout expired 郁闷死了,那位老大帮忙看看怎么回事; RRS feed

  • 问题

  • 服务器配置 一台web 一台数据库

    通过如下语句 查询 数据连接数量
    SELECT COUNT(*) AS CONNECTIONS FROM master..sysprocesses//当前连接数

    当数量达到 128 时,iis就访问不了了,出现 timeout expired

    这时重新启动 iis  CONNECTIONS 数量降下来,网站才恢复正常!

    谁知到是怎么回事,我郁闷死了;
    • 已移动 Sheng Jiang 蒋晟 2009年11月23日 19:25 SQL Server (发件人:ASP.NET 与 AJAX)
    2009年11月20日 8:36

答案

  • 你好!

    连接数达到 128 是很一很大的数,你的网站真有那么大的访问量吗?

    你可以检查一下使用 SqlConnection 后是否正常的关闭了连接。推荐使用 using 来解决这个问题。

    using(SqlConnection conn = new SqlConnection("YourConnectionString"))
    {
    }

    增加连接池最大数量也能解决这个问题,便这不是最好的方法。最终还是要修改你所有未正常关闭数据库连接的问题。

    知识改变命运,奋斗成就人生!
    • 已标记为答案 无形泪 2009年11月22日 2:12
    2009年11月21日 1:24

全部回复

  • 你好!

    连接数达到 128 是很一很大的数,你的网站真有那么大的访问量吗?

    你可以检查一下使用 SqlConnection 后是否正常的关闭了连接。推荐使用 using 来解决这个问题。

    using(SqlConnection conn = new SqlConnection("YourConnectionString"))
    {
    }

    增加连接池最大数量也能解决这个问题,便这不是最好的方法。最终还是要修改你所有未正常关闭数据库连接的问题。

    知识改变命运,奋斗成就人生!
    • 已标记为答案 无形泪 2009年11月22日 2:12
    2009年11月21日 1:24
  • 谢谢  X.X.Y 版主的帮助,问题已经解决了。
    2009年11月22日 2:13
  • 另外,单个 SQL 执行过长也可能导致这样的问题。应当尽可能的提高SQL 的效率。
    知识改变命运,奋斗成就人生!
    2009年11月22日 2:13