我正在使用Sequel gem来连接到数据库。数据库服务器是远程的,所以我必须先通过SSH登录。使用Net :: SSH :: Gateway时,是否需要手动关闭续集gem连接?
我的Ruby脚本设置为每隔5分钟进行一次SSH连接,ping数据库,然后关闭SSH连接。 (SSH由Net :: SSH :: Gateway处理)。
但是我最近在MySQL上遇到了“连接太多”的错误。当检查MySQL进程列表时,我发现Ruby脚本中有一堆睡眠连接。所以我添加了一条db.disconnect
行到我的脚本,在关闭SSH连接之前断开与数据库的连接,似乎解决了这个问题。
我的问题是,是不是自动关闭数据库连接?为什么会有大量睡眠SQL连接?