问题:网站每隔几天就无法访问了,查看日志发现如下信息,好像跟超时有关,重启后可以继续使用,但是过几天依然会卡住,无法请求。我查看了阿里云的 rds,没看出什么问题。如下图中的日志是我后台定时任务的请求,没一分钟请求一次,一旦卡住后,只能收到这个请求,我刷新网页的请求是收不到的。刚才又发现了一个问题,我的 puma 线程设置的是 5 个,但是发现只剩下两个了,如下图:
曾试过的解决方案:
1: 刚开始怀疑数据库连接池全部被占用了,设置了 database.yml 中的 pool,还是不行。
自己先顶一下吧
刚才又发现了一个问题,我这边调用接口没有设置 timeout,会连接比较长的时间才会释放,有没有可能是很多这种长时间的连接导致的
你先把 Session 改为 Cookie 模式,避免用户首次请求就要卡数据库那里,然后再看看会不会卡住
我这边没有改过 session 的存储模式,本来就是 cookie 模式,现在我的日志里经常提示如下
(2.1ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
你之前有遇过这种情况吗
哦 我看错了,那个不是 Rails Session 的查询
顶。没有遇到过这个情况。。
你这个问题解决了吗