Назад | Перейти на главную страницу

Redis maxmemory на экземпляре ElastiCache ниже ожидаемого

У меня есть экземпляр AWS ElastiCache, размещенный на cache.m5.xlarge тип экземпляра, который рекламирует 12.93gb барана.

из Документация по AWS ElastiCache он говорит, что cache.m5.xlarge экземпляр должен иметь maxmemory установлен в 13891921715, что делится на 1024 * 1024 * 1024 примерно равно 12.94gb.

Однако недавно мы обнаружили, что наш сервер удаляет ключи на основе maxmemory-policy: volatile-lru конфигурация при грубом ударе 9.7gb.

После проверки фактической обработки с использованием redis-cli и выпуская info memory команду, получаем:

my-stack.ng.0001.use1.cache.amazonaws.com:6379> info memory
# Memory
used_memory:10070155984
used_memory_human:9.38G
used_memory_rss:10629488640
used_memory_rss_human:9.90G
used_memory_peak:10419154184
used_memory_peak_human:9.70G
used_memory_peak_perc:96.65%
used_memory_overhead:581297150
used_memory_startup:3668736
used_memory_dataset:9488858834
used_memory_dataset_perc:94.26%
allocator_allocated:10073929632
allocator_active:10463571968
allocator_resident:10660438016
used_memory_lua:60416
used_memory_lua_human:59.00K
used_memory_scripts:1032
used_memory_scripts_human:1.01K
number_of_cached_scripts:4
maxmemory:10418941287
maxmemory_human:9.70G
maxmemory_policy:volatile-lru
allocator_frag_ratio:1.04
allocator_frag_bytes:389642336
allocator_rss_ratio:1.02
allocator_rss_bytes:196866048
rss_overhead_ratio:1.00
rss_overhead_bytes:-30949376
mem_fragmentation_ratio:1.06
mem_fragmentation_bytes:559163408
mem_not_counted_for_evict:0
mem_replication_backlog:1048576
mem_clients_slaves:49806
mem_clients_normal:6528840
mem_aof_buffer:0
mem_allocator:jemalloc-5.1.0
active_defrag_running:0
lazyfree_pending_objects:0

Самый большой момент, который я здесь вижу, это maxmemory:10418941287, который о 3.2gb меньше, чем ожидалось.

Конфигурация нашего сервера настроена с репликацией, поэтому всего у нас есть два cache.m5.xlarge узлы.

Почему существует зависимость между фактическим сервером maxmemory и что говорится в документации, и есть ли способ использовать больше памяти сервера для фактических кэшированных элементов?