博客大巴業務場景:Memcached 2GB 內存已滿,命中率僅 50%,嘗試啟用 PHP memcache_set() 的 MEMCACHE_COMPRESSED 選項進行壓縮存儲。
| 指標 | 壓縮前 | 壓縮後 | 提升 |
|---|---|---|---|
| 存儲對象數量 | 基準 | ~2倍 | +100% |
| 緩存命中率 | ~50% | ~60% | +10% |
| 後續擴容 2倍內存 | - | 命中率達 90% | +40% |
memcached-tool 查看統計,確認空間耗盡memcache_set($key, $val, 0, MEMCACHE_COMPRESSED),get 自動解壓Memcached 滿?
├─ 否 → 不壓縮,釋放內存給他用
└─ 是 → 對象 > 500B?
├─ 否 → 評估膨脹風險,謹慎啟用
└─ 是 → CPU 閒置?
├─ 否 → 權衡壓縮開銷 vs DB 壓力
└─ 是 → 啟用 MEMCACHE_COMPRESSED
↓
監控命中率提升
↓
仍不足 → 物理擴容內存
memcached-tool 定期巡檢