2016-11-12 15 views
10

Tôi đã nâng cấp một ứng dụng sản xuất từ ​​đường ray 4 lên đường ray 5 vài ngày trước, và tôi đã thấy sự gia tăng lớn trong việc sử dụng CPU trên phiên bản RDS postgresql của tôi. Dường như không có bất kỳ sự gia tăng liên quan trong yêu cầu cơ sở dữ liệu hoặc giảm tốc độ.Tại sao một thanh ray 5 nâng cấp mạnh mẽ việc sử dụng CPU cơ sở dữ liệu?

Điều gì có thể gây ra điều đó? Tôi có thể làm gì để giảm mức sử dụng CPU trong khi vẫn sử dụng Rails 5?

Hình ảnh dưới đây cho thấy việc sử dụng CPU trên bản sao RDS. Thời gian nâng cấp chỉ ở bên trái của dòng 11/09.

RDS Cpu utilization

+0

Hệ thống có sử dụng báo cáo đã chuẩn bị không? SQL trong tệp nhật ký sẽ có $ 1, $ 2 vv và một loạt các tham số ràng buộc. –

+0

có, chúng tôi đang sử dụng báo cáo đã chuẩn bị – nbrustein

+0

Điều này có liên quan không? https://github.com/rails/rails/commit/cbcdecd2c55fca9613722779231de2d8dd67ad02 – nbrustein

Trả lời

1

Chúng tôi cuối cùng theo dõi này xuống đến một vấn đề trong activerecord: https://github.com/rails/rails/issues/27201

Về cơ bản, vì changed? được đôi khi sai lầm thiết lập là true, chúng tôi đã làm các truy vấn nhiều hơn trong đường ray 5 so với đường ray 4, và chúng tôi đã đọc sai báo cáo trong RDS, vì vậy chúng tôi đã không xác định được sự gia tăng trong các truy vấn.

Các vấn đề liên quan