Chúng tôi đã gặp rắc rối liên tục với việc hoán đổi ví dụ ElastiCache Redis của chúng tôi. Amazon dường như có một số giám sát nội bộ thô tại chỗ thông báo các đột biến sử dụng hoán đổi và chỉ cần khởi động lại phiên bản ElastiCache (do đó mất tất cả các mục được lưu trong bộ nhớ cache của chúng tôi). Đây là biểu đồ của BytesUsedForCache (dòng màu xanh) và SwapUsage (dòng màu cam) trên ví dụ ElastiCache của chúng tôi trong 14 ngày qua:
Bạn có thể thấy mô hình sử dụng trao đổi ngày càng tăng dường như kích hoạt khởi động lại phiên bản ElastiCache của chúng tôi, trong đó chúng tôi mất tất cả các mục được lưu trong bộ nhớ cache (BytesUsedForCache giảm xuống 0).
Tab 'Sự kiện bộ nhớ cache' trong bảng điều khiển ElastiCache của chúng tôi có các mục tương ứng:
ID nguồn | Loại | Ngày | Biến cố
cache-dụ-id | cụm bộ đệm | Thứ ba ngày 22 tháng 9 07:34:47 GMT-400 2015 | Nút bộ nhớ cache 0001 được khởi động lại
cache-dụ-id | cụm bộ đệm | Thứ ba ngày 22 tháng 9 07:34:42 GMT-400 2015 | Lỗi khởi động lại bộ đệm cache trên nút 0001
cache-dụ-id | cụm bộ đệm | CN ngày 20 tháng 9 11:13:05 GMT-400 2015 | Nút bộ nhớ cache 0001 được khởi động lại
cache-dụ-id | cụm bộ đệm | Ngày 17 tháng 9 22:59:50 GMT-400 2015 | Nút bộ nhớ cache 0001 được khởi động lại
cache-dụ-id | cụm bộ đệm | Thứ tư 16 tháng 9 10:36:52 GMT-400 2015 | Nút bộ nhớ cache 0001 được khởi động lại
cache-dụ-id | cụm bộ đệm | Thứ ba ngày 15 tháng 9 05:02:35 GMT-400 2015 | Nút bộ nhớ cache 0001 được khởi động lại
(bắn tỉa các mục trước đó)
SwapUsage - trong sử dụng bình thường, cả Memcached và Redis đều không được thực hiện giao dịch hoán đổi
Cài đặt có liên quan (không mặc định) của chúng tôi:
- Kiểu sơ thẩm:
cache.r3.2xlarge
maxmemory-policy
: allkeys-lru (chúng tôi đã sử dụng biến động-lru mặc định trước đây mà không có nhiều khác biệt)maxmemory-samples
: 10reserved-memory
: 2500000000- Kiểm tra lệnh INFO trên ví dụ, tôi thấy
mem_fragmentation_ratio
trong khoảng từ 1 đến 1,05
Chúng tôi đã liên hệ với bộ phận hỗ trợ AWS và không nhận được nhiều lời khuyên hữu ích: họ đề nghị tăng tốc bộ nhớ dành riêng thậm chí cao hơn (mặc định là 0 và chúng tôi có 2,5 GB dành riêng). Chúng tôi không có bản sao hoặc ảnh chụp nhanh được thiết lập cho trường hợp bộ đệm này, vì vậy tôi tin rằng không có BGSAVE nào xảy ra và gây ra việc sử dụng bộ nhớ bổ sung.
Giới maxmemory
hạn của bộ đệm reserved-memory
. Vì một số lý do, Amazon đã tăng cường cài đặt swappiness cho hệ điều hành. Bất kỳ ý tưởng nào tại sao chúng tôi sẽ gây ra việc sử dụng trao đổi nhiều như vậy trên ElastiCache / Redis hoặc cách giải quyết mà chúng tôi có thể thử?