Tuần trước chúng tôi đã nâng cấp một dự án nhỏ đang chạy trên Rails 3.0.1 lên Rails 3.2.2.Rò rỉ bộ nhớ lớn/sưng lên sau khi nâng cấp từ Rails 3.0 lên Rails 3.2 (Ruby 1.9.3 + Passenger)
Ngay sau khi nâng cấp, chúng tôi nhận ra rằng đôi khi, 2-3 lần một ngày, chúng tôi đã nhìn thấy một quy trình Phusion Hành khách rất lớn (1-5 GB).
Chúng tôi đang chạy Phusion Passenger 3.0.11 và Ruby 1.9.3-p0. Chúng tôi đã thử phiên bản Ruby khác nhau (1.9.2-p290 và 1.9.3-p125) mà không thành công.
Sau đó, chúng tôi đã cố gắng theo dõi mức sử dụng bộ nhớ của chúng tôi với Oink. Thật không may Oink không cho thấy lý do cho bộ nhớ sưng lên - Các quy trình lớn dường như không ghi vào logfiles nữa.
Khi chúng tôi hạ cấp xuống Rails 3.0.1, sự cố đã biến mất. Có ai có vấn đề tương tự? Chúng tôi thực sự đã kiểm tra mã của chúng tôi để có thể rò rỉ bộ nhớ, chẳng hạn như quá nhiều phiên bản ActiveRecord, nhưng không tìm thấy bất kỳ lỗi nào.
Bạn có nghĩ rằng bạn nên thử Unicorn thay vì Hành khách? Hoặc có khả năng chúng ta sẽ gặp phải vấn đề tương tự?
Bất kỳ đề xuất nào về cách theo dõi rò rỉ bộ nhớ đều được chào đón. Chúng tôi đã thiết lập newrelic, nhưng nó không hiển thị thông tin chi tiết về rò rỉ bộ nhớ.
Chúng tôi đã thay thế Hành khách bằng thiết lập Unicorn và giờ đây hệ thống hoạt động như mong đợi. Tôi không nếu nó là một vấn đề hành khách chung hoặc có thể là một vấn đề với hành khách/rvm (và có lẽ cách chúng tôi gần đây đã cài đặt/nâng cấp nó). –
bạn có muốn chia sẻ thiết lập kỳ lân của mình không? tôi đang gặp vấn đề tương tự, cần phải khởi động lại máy chủ sau mỗi 6 giờ để ngăn chặn tràn bộ nhớ! –
Xin lỗi vì câu trả lời muộn. Vâng ... chia sẻ các thiết lập lân sẽ có lẽ quá nhiều để gửi nó như là một bình luận ở đây. Tìm kiếm nhanh trên Google sẽ giúp bạn. Có thể bạn bắt đầu ở đây: https://github.com/blog/517-unicorn.Về cơ bản nó chỉ là nginx với kỳ lân như máy chủ ngược dòng. Các thiết lập kỳ lân chỉ là một unicorn.rb đơn giản trong cấu hình .... Mất cho chúng tôi có lẽ một giờ để chuyển từ hành khách. Và một số khác để thêm nội dung triển khai kỳ lân vào cấu hình Capistrano của chúng tôi. –