Some backgroup: 1. redis cluster : 8 masters 2. number of clients nodes : 150 3. spring-data-redis used as client api

One of the instance of redis cluster suffers from the NODES commnad, which burns cpu of this instance (cpu load is up to 100%). Spring-data-redis send nodes command to the same instance. and We have tried to solve this problem from client side. here is the jira ticket: https://jira.spring.io/projects/DATAREDIS/issues/DATAREDIS-890?filter=allissues

However, I also have some concerns about the performance of NODES command from server side. In funtion clusterGenNodeDescription, it loops all the possible slots and generate slots informance on the fly: https://github.com/antirez/redis/blob/unstable/src/cluster.c. If the number of clients are much more larger than number of instances of redis cluster, approach from here might not resolve this problem also.

It would be better for clients side, if the performance of NODES command is going to be further improved from server side. For instance, introduce a cache of nodes informance and return the results without loopping the whole slots. Thanks.

Comment From: trevor211

dup of #6165 @itamarhaber

Comment From: itamarhaber

Thanks @trevor211 - closing.