Memcached 1.6.34+ extstore Hybrid RAM + NVMe Flash Config

# Memcached 1.6.34+ Hybrid DRAM + NVMe Flash (extstore) Systemd Environment # Place in /etc/sysconfig/memcached or /etc/default/memcached # Architecture: 16 GB RAM (keys, headers & hot small items) + 128 GB dedicated NVMe file PORT="11211" USER="memcached" MAXCONN="8192" # 16384 MB DRAM ceiling for hash table, metadata headers, and items < ext_item_size CACHESIZE="16384" # Security & Networking: Disable UDP (-U 0), bind internal interface, 8 worker threads # Extended (-o) options: # modern = Segmented HOT/WARM/COLD LRU +slab_reassign +lru_crawler +lru_maintainer # slab_automove=1 = Automatically move 1MB pages across slab classes as item sizes shift # ext_path = Dedicated NVMe file path & capacity (pre-create directory on local XFS/ext4 NVMe) # ext_item_size=1024 = Offload values >= 1 KB to NVMe; keep tiny counters/flags purely in DRAM # ext_wbuf_size=8 = 8 MB sequential write buffer (minimizes SSD write amplification) # ext_threads=6 = Dedicated async disk reader/writer threads # ext_compact_under=4 = Compact sparse flash pages when free fragments exceed threshold OPTIONS="-l 127.0.0.1 -U 0 -t 8 -o modern,slab_automove=1,ext_path=/var/lib/memcached-nvme/extstore.bin:128G,ext_item_size=1024,ext_wbuf_size=8,ext_threads=6" # --- Live Health & Headroom Telemetry (run via socat / nc) --- # printf "stats extstore quit " | nc -U /run/memcached/memcached.sock || nc 127.0.0.1 11211 # Watch: # extstore_memory_pressure (target < 80%; 100% means RAM header headroom is full) # extstore_bytes_used / extstore_page_evictions / extstore_io_queue
Memcached 1.6.34+ extstore Hybrid RAM + NVMe Flash Config
Note
Notification