We have a Redis cluster setup with 3 Redis nodes running on a 4 core machine. We use these Redis nodes for a queueing solution that has a very high RPS ~20k ops/sec per node. We are experience CPU bottlenecks in this setup during peak traffic times; with CPU usages of Redis nodes hitting 100% util constantly. How can we handle this? Does pinning each Redis node to a specific CPU core help us in this?

Comment From: itamarhaber

Binding the server processes may help, but not necessarily - the OS is usually pretty good at allocating the resources without assistance. You can certainly test it and see if there's any improvement, but I'd recommend you dig into what's causing the CPU load and find the root cause.

Keep in mind that this issue tracker should be used for reporting bugs or proposing improvements to the Redis server. Questions should be directed to the community:

Comment From: filipecosta90

@sreeraagbuyt did you had the chance to check:

but I'd recommend you dig into what's causing the CPU load and find the root cause.

Nonetheless CPU pinning capabilities were introduced in https://github.com/redis/redis/pull/7179

If you guys agree I believe we can close this issue.

Comment From: madolson

Agree about closing, this isn't the right place for this discussion.

I think it would be worth documenting some of the "best practices" for Redis though, and include pinning. @itamarhaber we going to start the blog soon?