Hacker News new | ask | show | jobs
by jack9 3926 days ago
Some minor points

> Redis in its special case of memcached replacement, may be addressed executing multiple processes

This is always less optimal to a single process. Simpler is better.

> Redis is very very observable

This has a cost...trashing your phenomenal read and write performance. Running a concurrent redis, just for monitoring, is a hack that I have used to continue leveraging the observability.

1 comments

I agree that simpler is often better, but running multiple cache processes may be a requirement for either memcached or redis if you want to get consistent latency from them. I have observed a significant improvement in performance (at large scale) when binding memcached to a single NUMA zone.

NUMA lets you address non-local memory, but memcached and redis don't utilize libnuma so they don't know whether the memory is local or not. The entire system's memory is available as one contiguous blob, but some of it is a lot slower than the other (depending on which CPU core you're running on). To get around this, on most servers you'll need to run two processes (and two different ports) and bind them to appropriate CPU core sets and memory.

Thanks for the info, I think similar results were reproduced with Redis too.