-
Notifications
You must be signed in to change notification settings - Fork 46
Description
We migrated from a single‑instance EC2 setup using Olive’s in‑memory cache to an ECS deployment with multiple tasks and found that the Olive.Cache.Redis package is non‑functional in our environment: it fails to connect and depends on BinaryFormatter, which causes compile errors in our target framework. As a result, Olive effectively behaves as a local cache per task, so keys do not propagate between tasks. We introduced an external Redis middleware, which works under low traffic alongside in‑memory caching, but Olive’s data structures are not compatible with other implementations we tried. During load testing, we observed DB call amplification and a bottleneck around Olive’s UserSession, which performs frequent update/insert/get operations and publishes to Redis, triggering fan‑out to subscriber tasks. We refactored the hotspots identified in the load tests to reduce contention and improve performance.