5

我的 Rails 应用程序的 MySQL 后端出现问题。

基本上每次部署时,我都会开始遇到奇怪的异常,例如

ActiveRecord::StatementInvalid: Mysql2::Error: 
NoMethodError: undefined method `fields' for nil:NilClass
ActiveModel::MissingAttributeError: missing attribute: created_at
ActiveRecord::StatementInvalid: Mysql2::Error: Lost connection to MySQL server during query
ActiveRecord::UnknownPrimaryKey: Unknown primary key for table users in model User.
RuntimeError: Session collision on '"017fab6b21d2ef20d30e6119f7bf...."'

我不确定这是否是由于突然加载而发生的,我的 MySQL 实例无法承受,但是当我在部署后重新启动应用程序时会发生 99%。

这可能是什么原因造成的?我有 Rails 3.2.6、Ubuntu 12.04、MySQL 5.1.63

4

2 回答 2

1

最近几周我遇到了类似的问题,不知道它来自哪里。昨天我调整了 unicorn 配置(我们的服务器在 Debian + unicorn + MySQL 上运行),将 worker 数量更改为 4,并将每个 worker 的并发连接数限制为 2(在 config/database.yml 中)。今天早上我发现问题消失了,不再发生这样的随机异常。所以我猜是因为太多的并发连接使 MySQL 不稳定。

我刚刚在我的博客上发布了关于它的信息。希望这也可以帮助你。

于 2013-03-01T02:54:43.870 回答
0

错误似乎表明缺少“属性”。您的数据库架构和类结构是否都处理“created_at”变量或列?我会专门看一下用户类/表。

于 2012-07-24T22:48:33.690 回答