Our in-process cache made p99 latency worse: an optimization we had to roll back
We added a large in-memory cache to a Java service to save Redis round trips. Average latency improved and p99 doubled. The cache pushed the heap into long GC pauses. How we found it in GC logs, why our benchmark missed it, and the measurement method we use now.