Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Redis - giám sát việc sử dụng bộ nhớ

Bộ nhớ là tài nguyên quan trọng đối với hiệu suất của Redis. Bộ nhớ đã sử dụng xác định tổng số byte được Redis cấp phát bằng cách sử dụng trình cấp phát của nó (libc tiêu chuẩn, jemalloc hoặc trình cấp phát thay thế như tcmalloc).

Bạn có thể thu thập tất cả dữ liệu chỉ số sử dụng bộ nhớ cho một phiên bản Redis bằng cách chạy “bộ nhớ thông tin”.

 
127.0.0.1:6379> info memory
Memory
used_memory:1007280
used_memory_human:983.67K
used_memory_rss:2002944
used_memory_rss_human:1.91M
used_memory_peak:1008128
used_memory_peak_human:984.50K

Đôi khi, khi Redis được định cấu hình không có giới hạn bộ nhớ tối đa, việc sử dụng bộ nhớ cuối cùng sẽ đạt đến bộ nhớ hệ thống và máy chủ sẽ bắt đầu phát ra lỗi “Hết bộ nhớ”. Vào những thời điểm khác, Redis được định cấu hình với giới hạn bộ nhớ tối đa nhưng chính sách xác nhận. Điều này sẽ khiến máy chủ không loại bỏ bất kỳ khóa nào, do đó ngăn chặn bất kỳ ghi nào cho đến khi bộ nhớ được giải phóng. Giải pháp cho những vấn đề như vậy sẽ là định cấu hình Redis với bộ nhớ tối đa và một số chính sách loại bỏ. Trong trường hợp này, máy chủ bắt đầu loại bỏ khóa bằng chính sách loại bỏ khi mức sử dụng bộ nhớ đạt đến mức tối đa.

Bộ nhớ RSS (Resident Set Size) là số byte mà hệ điều hành đã cấp cho Redis. Nếu tỷ lệ ‘memory_rss’ so với ‘memory_used’ lớn hơn ~ 1,5, thì nó có nghĩa là bộ nhớ bị phân mảnh. Bộ nhớ bị phân mảnh có thể được khôi phục bằng cách khởi động lại máy chủ.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Lỗi kênh Django - Không thể nhập BACKEND 'asgi_redis.RedisChannelLayer'

  2. Không thể liên kết trình nghe TCP *:6379 bằng Redis trên Windows

  3. Sự khác biệt cơ bản giữa select, epoll, kqueue và evport là gì?

  4. Lưu phiên người dùng trong Redis với ASP.NET Core trong Azure

  5. Chức năng phát sóng socket.io và kiến ​​trúc Redis pub / sub