我们的基于ASP .NET的网站的IIS服务器很少。它们连接到MySQL数据库。 MySQL数据库连接池每隔2-3天填充一次睡眠连接,我们必须手动关闭状态为睡眠的左连接。
有什么方法可以关闭那些持久存在的MySQL连接?
谢谢。
答案 0 :(得分:1)
从 This link 开始,持久连接的重要性为
持久连接是有效的,因为没有开销 每次PHP脚本都在PHP和MySQL之间建立连接 执行。然而,主要的缺点是资源可能很容易 浪费,因为MySQL在其缓存中保留了该连接的一些数据, 即使没有PHP脚本当前正在使用该连接。普通的 问题是可能留在的大型SELECT查询的结果集 在请求的PHP脚本中有用之后很久 数据已经结束。这些结果集使用可用资源 并且可能是您目前看到的资源问题的来源。
处理这个问题的正确方法是仔细调用 每当从SELECT返回数据时,mysql_free_result()函数 声明不再需要。这可能会释放足够的资源 你的MySQL服务器再次顺利运行。
如何控制持久连接的行为
可以调整持久连接的行为 你的PHP.INI文件与mysql.allow_persistent和 mysql.max_persistent settings。