2016-11-12 50 views
10

幾天前,我將一個生產應用程序從rails 4升級到rails 5,並且我看到RDS postgresql實例的CPU利用率大幅增加。似乎沒有任何相關的數據庫請求增加或速度降低。爲什麼rails 5升級會大幅增加數據庫CPU使用率?

這可能是什麼原因造成的?在仍然使用Rails 5的情況下,如何恢復CPU利用率?

下圖顯示了RDS實例的CPU利用率。升級時間僅在11/09線的左側。

RDS Cpu utilization

+0

系統是否使用預處理語句?日誌文件中的SQL將具有$ 1,$ 2等和一系列綁定參數。 –

+0

是的,我們正在使用準備好的語句 – nbrustein

+0

這可能是相關的嗎? https://github.com/rails/rails/commit/cbcdecd2c55fca9613722779231de2d8dd67ad02 – nbrustein

回答

1

我們最終在ActiveRecord的跟蹤下來到一個問題:https://github.com/rails/rails/issues/27201

基本上,因爲changed?有時錯誤地設置爲true,我們正在做的導軌5個查詢比軌道4,5,和我們錯誤地閱讀了RDS中的報告,所以我們沒有確定查詢的增加。

相關問題