2011-08-25 38 views
6

Tôi gặp sự cố với bộ nhớ cache của ứng dụng đang bị xóa (bộ nhớ cache trang, hành động và phân đoạn).Bộ nhớ cache của tôi đang bị xóa, tại sao?

Dường như (theo IRC ghi nhớ và logfiles) bộ nhớ cache bị xóa rất thường xuyên, mặc dù bộ nhớ cache không đầy.

Tôi đang sử dụng:

Here is data được in khi chạy stats sử dụng telnet.

Tôi không sử dụng bất kỳ tùy chọn nào expires_in khi lưu dữ liệu vào bộ nhớ cache. Thay vào đó, tôi sử dụng bộ quét để dọn bộ nhớ cache theo cách thủ công mỗi tối.

Bất kỳ ai cũng có ý tưởng tại sao điều này xảy ra?

Trả lời

11

Dường như bạn đang chạy ra khỏi không gian memcached:

STAT limit_maxbytes 262144000 
STAT bytes   209406773 

... gây dữ liệu để bị đuổi khỏi bộ nhớ cache khi bạn không muốn nó và số liệu thống kê cho thấy:

STAT evictions 94777 

Có vẻ như bạn đã định cấu hình kích thước bộ nhớ cache 250MB và bạn đang sử dụng 80-90%.

Thử tăng kích thước bộ nhớ cache qua tùy chọn -m.

UPDATE:

Các số liệu thống kê cũng cho thấy bộ nhớ cache được xối qua Rails.cache.clear (gửi memcached flush_all):

STAT cmd_flush 4317 # Original Stat Capture 
STAT cmd_flush 48 # New Stat Capture 

Bạn nên tìm kiếm codebase của bạn cho bộ nhớ cache thủ công tuôn ra.

+0

Tôi sẽ dùng thử. Tôi tăng nó lên 550 MB. – Oleander

+0

Tuyệt vời, hãy cho tôi biết nó như thế nào. – Winfield

+0

Điều này có giải quyết được cho bạn không? – Winfield

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