在我们使用MySQL数据库部署新版本的ASP.NET C#应用程序之后,我们遇到了连接问题。
昨天我收到了“Too many connections”错误,我正在观看与之打开的连接
SHOW FULL PROCESSLIST
他们在白天不断增加。
有没有一个很好的方法来弄清楚我们的bug可能在哪里?就像检查睡眠连接的最后一个查询一样?
答案 0 :(得分:2)
确保您的应用正确关闭与数据库的连接....如果您的应用未关闭连接,则会出现上述错误
答案 1 :(得分:1)
Connection pooling通常解决了这个问题。在您的情况下,连接似乎保持打开太长时间,这意味着在您的软件的某些分支中,最终不会确定在使用后关闭连接。在中心点诊断有问题的连接使用情况尤其有用,因为它可以在任何给定时间监视打开连接的数量,并可能提醒某人稍后进行转储以进行分析。
您还可以增加允许MySQL实例的连接数。 my.cnf中的设置是“max_connections”。
最后,如果您愿意,可以尝试减少实例的“wait_timeout”或“interactive_timeout”属性。这些设置可在一定时间后调节连接的自动关闭。