Rails 测试网站不定时无法访问

zhangcaiyan · 2018年01月12日 · 最后由 bighuzi 回复于 2018年01月19日 · 581 次阅读

问题: 网站每隔几天就无法访问了,查看日志发现如下信息,好像跟超时有关,重启后可以继续使用,但是过几天依然会卡住,无法请求。我查看了阿里云的rds,没看出什么问题。如下图中的日志是我后台定时任务的请求,没一分钟请求一次,一旦卡住后,只能收到这个请求,我刷新网页的请求是收不到的。刚才又发现了一个问题,我的puma线程设置的是5个,但是发现只剩下两个了,如下图:

曾试过的解决方案:

1: 刚开始怀疑数据库连接池全部被占用了,设置了database.yml中的pool,还是不行。

共收到 6 条回复

自己先顶一下吧

刚才又发现了一个问题,我这边调用接口没有设置timeout,会连接比较长的时间才会释放,有没有可能是很多这种长时间的连接导致的

你先把 Session 改为 Cookie 模式,避免用户首次请求就要卡数据库那里,然后再看看会不会卡住

huacnlee 回复

我这边没有改过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

你之前有遇过这种情况吗

zhangcaiyan 回复

哦 我看错了,那个不是 Rails Session 的查询

顶。没有遇到过这个情况。。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册