mysql中存在连接过多错误
本文关键字:错误 连接 存在 mysql | 更新日期: 2023-09-27 18:24:04
我正在使用C#和MySql(存储过程)开发一个应用程序。运行应用程序一段时间后,它会显示连接过多。然后我使用像SHOW STATUS WHERE variable_name = 'Threads_connected';
和SHOW PROCESSLIST;
这样的命令来调试这个问题。似乎每次我在应用程序上运行任何操作时,mysql都会创建新的线程,并且该线程被标记为Sleep。此外,线程没有按时关闭。我找到了一个解决方案,即设置mysql环境变量如下。
interactive_timeout=180
wait_timeout=180
- 这个解决方案会自动终止连接,对应用程序有影响吗?如果从数据库中提取数据的时间有点长,会发生什么
- 我预计一次会有1000人左右的巨大流量。那么mysql中的最大连接数应该是多少呢?这会降低mysql的性能吗
[注意:我的应用程序没有问题,因为我已经关闭了每个mysql连接]
提前谢谢。
我希望下面的文章能帮助你获得第二点的答案
http://dev.mysql.com/doc/refman/5.5/en/too-many-connections.html
在应用程序无法正确关闭连接的情况下,wait_timeout是一个重要参数,用于调整和丢弃未使用或空闲的连接,以最大限度地减少与MySQL服务器的活动连接数量,这将最终有助于避免"连接太多"错误。
Threads_running是一个很有价值的监控指标,因为它不包括睡眠线程——它显示活动的和当前处理的查询数量,而Threads_connected状态变量显示所有连接的线程值,包括空闲连接以及