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