0

在我们使用 MySQL DB 部署新版本的 ASP.NET C# 应用程序后,我们遇到了连接问题。

昨天我收到“连接太多”错误,我正在查看打开的连接, SHOW FULL PROCESSLIST并且它们在白天不断增加。

有没有一个好方法可以找出我们的错误可能在哪里?就像检查睡眠连接所做的最后一个查询一样?

4

2 回答 2

2

确保您的应用程序正在正确关闭与数据库的连接....如果您的应用程序没有关闭连接,那么您将收到上述错误

于 2012-10-25T10:00:59.307 回答
1

连接池通常可以解决这个问题。在您的情况下,连接似乎保持打开的时间过长,这意味着在您的软件的某些分支中,没有确定的最终会在使用后关闭连接。在中心点诊断有问题的连接使用特别有用,因为它可以在任何给定时间关注打开的连接数量,并可能提醒某人进行转储以供以后分析。

您还可以增加 MySQL 实例允许的连接数。my.cnf 中的设置是“max_connections”。

最后,如果您愿意,可以尝试减少实例的“wait_timeout”或“interactive_timeout”属性。这些设置在一定时间后调节连接的自动关闭。

于 2012-10-25T10:31:45.323 回答