mysql连接太多 - 睡眠线程太多了?

时间:2013-09-03 17:06:35

标签: mysql subsonic

我从mysql数据库中收到此错误

error connecting: Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may have occurred because all pooled connections were in use and max pool size was reached.

我有一个网站和控制台应用程序与数据库交谈,但我当然没有100个并发连接!我做了一个showprocesslist查询,发现大约有10个连接,命令为SLEEP,时间大约是16000秒。没有100个连接。

我正在使用亚音速数据提供程序与数据库通信,我相信这会立即关闭数据库连接并且不会让它们挂起,所以这不是罪魁祸首。

我重新启动了mysql服务器和我的控制台应用程序,它与数据库对话,它似乎工作正常,但自然我不能让这两个控制台/网站应用程序崩溃。查看错误日志,此错误似乎即将出现

请您就我能做些什么来找出正在发生的事情以及如何解决这个问题的建议

编辑:我已经对此进行了更多调查,看起来它是亚音速/ mysql问题。我通过关闭finally块中的连接尝试了下面链接中的推荐修复,但没有关闭连接...

   Dim sp As StoredProcedure = SPs.GetLastGPSDataForAllVehicles(customerID)
            Dim reader As IDataReader
            Try
                reader = sp.GetReader
                MyBase.Load(reader)
            Catch ex As Exception
            Finally
                reader.Dispose()
                reader = Nothing
                sp.Command.ToDbCommand().Connection.Close()

            End Try

我不知道如何强制连接关闭。

非常感谢

0 个答案:

没有答案