A minimal tool to measure dataset size and throughput (ops/sec) of a running Memcached instance.
This is useful for:
- Estimating memory usage of your current keyspace
- Measuring read/write throughput based on real-time stats
.
├── memcached_sizing_calculator.py # Main tool: measures memory and ops/sec
├── load_generator.py # Optional helper: writes dummy data for testing
└── requirements.txt # Python dependencies
- 📊 Calculates total dataset size in MB
- ⚡ Estimates ops/sec by sampling
cmd_get
andcmd_set
over time - 📎 Uses official
python-memcached
client (no deprecated telnetlib)
python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Locally:
memcached -p 11211 -m 512 -vv
Or via Docker:
docker run -d --name memcached -p 11211:11211 memcached
Use the included generator to create keys/values:
python load_generator.py
This is useful if your Memcached instance is empty and you want to simulate usage.
python memcached_sizing_calculator.py
This will:
- Connect to Memcached
- Wait 60 seconds (default)
- Print dataset size and ops/sec
--- Memcached Metrics ---
Dataset Size: 16.42 MB
Ops/sec (get + set): 2023.40
- cmd_get delta: 10200
- cmd_set delta: 2000
- Total keys: 10000
- Memory cap: 64.00 MB
You can tweak host, port, and interval inside memcached_sizing_calculator.py
:
HOST = "127.0.0.1"
PORT = 11211
INTERVAL = 60 # in seconds
MIT