在下面的图像中,它显示当前活动为99个连接。RDS是通过node.js webservices,php网站访问的。每次我做一些操作我都会关闭连接。所以一旦关闭后它不会减少,而是继续增加。后来我得到了太多的连接错误消息,一旦连接变成608。我重新启动,然后它工作。我从来没有看到它减少。所以我能用什么最好的方法来处理。
下面是我运行SHOW FULL PROCESSLIST时显示的图像;
3b6akqbq1#
使用MySQL连接的基于PHP的网页通常在渲染完页面内容后立即退出,因此无论是否显式调用mysqli或PDO close方法,连接都会关闭。Node服务就不一样了,它运行时间长,因此很容易泄漏资源。在Node服务中,很可能您正在打开连接,但没有关闭它们,这将产生您在这里看到的那种行为。(这是一个很容易犯的错误,特别是对于我们这些背景主要是更短暂的PHP脚本的人来说。)识别问题的一个好方法是通过Workbench或控制台监视器连接到MySQL示例,并发出SHOW FULL PROCESSLIST;命令,以获取当前活动连接、它们的源主机以及它们正在执行的查询(如果有)的列表,这可能有助于缩小泄漏连接的来源,以便您可以识别出错代码并修复它。
SHOW FULL PROCESSLIST;
1条答案
按热度按时间3b6akqbq1#
使用MySQL连接的基于PHP的网页通常在渲染完页面内容后立即退出,因此无论是否显式调用mysqli或PDO close方法,连接都会关闭。
Node服务就不一样了,它运行时间长,因此很容易泄漏资源。在Node服务中,很可能您正在打开连接,但没有关闭它们,这将产生您在这里看到的那种行为。(这是一个很容易犯的错误,特别是对于我们这些背景主要是更短暂的PHP脚本的人来说。)
识别问题的一个好方法是通过Workbench或控制台监视器连接到MySQL示例,并发出
SHOW FULL PROCESSLIST;
命令,以获取当前活动连接、它们的源主机以及它们正在执行的查询(如果有)的列表,这可能有助于缩小泄漏连接的来源,以便您可以识别出错代码并修复它。