理解Heroku和ClearDB的max_questions资源错误

7
我在Heroku上使用ClearDB mySQL时,我的Rails网站一直出现这个错误。
Mysql2::Error: User '123123' has exceeded the 'max_questions' resource 
(current value: 18000)

查看日志,异常是针对普通的ActiveRecord查找返回的。其中一个异常在一个模型关注点中抱怨作用域。

ActiveRecord::StatementInvalid: Mysql2::Error: User '123123' 
has exceeded the 'max_questions' resource (current value: 36000): SET  
@@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

我在使用Punch计划。网站的流量非常少,每天只有大约100次访问。我是否没有在Rails或Heroku中正确配置以避免此错误?
更新:已升级到下一个更高的计划,但仍然出现这些异常。

1
更新2:最终我将ClearDB迁移到了Heroku的Postgres上,问题得到了解决。网站不再出现max_questions资源错误异常。如果我找出原因,我会分享的。我使用了https://gist.github.com/tristanm/a2afa29ac6f37bf92b46作为参考。 - Saluto
2个回答

3

实际上,这似乎是每小时查询数量的问题。您每小时最多可以有36000个问题(查询),而您的应用程序已超过限制。有可能您的查询中存在未处理的循环或逻辑错误。


0

正确答案在上面由@Azhar-zafar提供。

根据ClearDb的常见问题解答

我收到了一个错误消息,说我已经超过了我的数据库的“max_user_connections”资源。为什么?

每个多租户计划支持允许的最大数据库连接数。这是为了确保每个多租户集群上的所有客户和数据库都获得最高质量的服务。如果您收到此消息,则意味着您已达到当前订阅计划的连接限制。我们建议您将数据库升级到更大的计划,以解除对您的数据库的限制。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接