为什么rails 5升级会大幅增加数据库CPU的使用量?

nbr*_*ein 10 postgresql rds ruby-on-rails-5

几天前我将生产应用程序从rails 4升级到rails 5,我看到我的RDS postgresql实例的CPU利用率大幅增加.似乎没有任何相关的数据库请求增加或速度降低.

可能导致什么?在使用Rails 5时,我可以做些什么来降低CPU利用率?

下图显示了RDS实例上的CPU利用率.升级时间就在11/09线的左侧.

RDS Cpu利用率

nbr*_*ein 2

我们最终将此问题追溯到 activerecord 中的一个问题:https ://github.com/rails/rails/issues/27201

基本上,由于changed?有时会错误地设置为 true,因此我们在 Rails 5 中执行的查询比在 Rails 4 中执行的查询要多,而且我们误读了 RDS 中的报告,因此我们没有发现查询的增加。