mysql中的连接错误太多

时间:2014-09-23 05:36:50

标签: c# mysql database-administration

我正在使用C#和MySql(存储过程)开发应用程序。运行应用程序一段时间后,它会显示连接数太多。然后我使用SHOW STATUS WHERE variable_name = 'Threads_connected';SHOW PROCESSLIST;之类的命令来调试问题。似乎每次我在我的应用程序上运行任何操作时,mysql都会创建新线程并且该线程被标记为 Sleep 。而且线程没有按时关闭。我发现了一个解决方案,即设置如下的mysql环境变量。

 interactive_timeout=180
 wait_timeout=180
  1. 此解决方案是否会对应用程序产生任何影响,因为它会自动终止连接?如果从数据库中获取数据的时间有点长,会发生什么?
  2. 我预计一次有大约1000个流量。那么mysql中的最大连接数应该是多少?这会降低mysql的性能吗?
  3. [注意:我的应用程序没有问题,因为我关闭了每个mysql连接]

    提前致谢。

1 个答案:

答案 0 :(得分:1)

我希望下面的artical能帮助你回答你的第二点

http://dev.mysql.com/doc/refman/5.5/en/too-many-connections.html

如果应用程序没有正确关闭连接,wait_timeout是调整和丢弃未使用或空闲连接的一个重要参数,以最大限度地减少与MySQL服务器的活动连接数 - 这最终将有助于避免“太多”许多连接“错误。

Threads_running是一个很有价值的监控指标,因为它不计算休眠线程 - 它显示当前处理的活动和查询量,而threads_connected状态变量显示所有连接的线程值,包括空闲连接