gpt4 book ai didi

PHP、MySQL 和 "sleeping"连接

转载 作者:可可西里 更新时间:2023-11-01 08:38:08 24 4
gpt4 key购买 nike

我正在运行由 PHP/MySQL 提供支持的 Web 服务,最近发现了一个奇怪的问题。

当我运行“show full processlist;”时通过 SSH 终端的 SQL 命令,我注意到几个“休眠”连接:

| Id        | User    | Host      | db      | Command | Time | State | Info                  |
+-----------+---------+-----------+---------+---------+------+-------+-----------------------+
| 218121282 | test_user | localhost | test_db | Sleep | 0 | NULL | NULL |

这些“休眠”连接是否因为在脚本末尾未使用 mysql_close() 而发生?

如果是这个原因,我可以通过使用“register_shutdown_function”PHP 函数并在回调函数上运行 mysql_close() 来解决这个问题吗?

感谢您的建议。

最佳答案

Are these "Sleeping" connections happening because of not using mysql_close() at the end of scripts?

没有。无论如何,MySQL 连接都会在脚本末尾关闭,除非它们是持久的。

这些休眠连接意味着您正在使用持久连接,或者某处存在问题导致您的 MySQL 连接长时间保持打开状态,这可能是因为 PHP 脚本运行时间很长,也可能是其他原因。

如果您不知道是否需要持久连接,最好将其关闭。与流行的建议相反,在很多情况下,它们实际上可能会产生比它们解决的问题更多的问题,例如导致您更快地耗尽资源。但是,在某些特定情况下需要它们,但您需要知道自己在做什么以及不应该用它们做什么,以避免您可能打开并让数百个连接长时间休眠的情况等

关于PHP、MySQL 和 "sleeping"连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3385684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com