在下图中,它显示当前事件为 99 个连接。 它是如何计算的。
RDS通过node.js webservices、php网站访问。每次我做一些操作时,我都会关闭连接。所以一旦关闭它就不会减少,而是会不断增加。后来,当连接数变为 608 时,我收到了太多连接错误消息。我重新启动,然后它就可以工作了。我从未见过它减少。
那么我能处理它的最好方法是什么。
下面是我运行 SHOW FULL PROCESSLIST 时显示的图像;
最佳答案
使用 MySQL 连接的基于 PHP 的网页通常在完成呈现页面内容后立即退出,因此无论您是否显式调用 mysqli 或 PDO 关闭方法,连接都会关闭。
Node 服务则不同,它运行时间长,因此很容易泄漏资源。您可能在 Node 服务中打开连接,但没有关闭它们,这会产生您在此处看到的那种行为。 (这是一个很容易犯的错误,尤其是对于我们这些背景主要是更短暂的 PHP 脚本的人来说。)
识别问题的一种好方法是通过 Workbench 或控制台监视器连接到 MySQL 实例并发出 SHOW FULL PROCESSLIST;
以获取当前事件连接的列表、它们的原始主机以及他们正在执行的查询(如果有的话)。这可能会帮助您缩小连接泄漏的来源范围,以便您可以识别有问题的代码并进行修复。
关于mysql - RDS Mysql 中的连接选项和处理许多连接的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34415424/