Ideal configuration of redis cluster

已查看 47 次
跳至第一个未读帖子

Tuco

未读,
2016年5月4日 10:55:152016/5/4
收件人 Redis DB
Hi, 

We have 3 machines for redis each having 256 GB RAM and 40 cores.
What is the best way to design a high performing redis cluster?

We are planning to have a replication of 1, so 1 slave per master.

Also considering redis is singlethreaded(and we may think of lua scripting somewhere down the line), we want to utilize multiple CPUs, we are thinking of having 10 masters + 10 slaves on each machine, so that 20 cores can be utilized, and maxmemory for each instance to be 12 GB, so that a total of 20*12 = 240 GB can be used on each machine.
It will be done on all the three machines.
Or is having 20 instances on each machine(10 masters+10 slaves) with 12 GB memory for each an overkill and we should have may be 5 masters + 5 slaves with 24 GB for each, or run it as 1 master + 1 slave (with 120 GB for each) in the extreme case.

Somehow there seems to be little documentation on whether increasing the instances will be very helpful, or the ideal amount of RAM for a single instance in redis.

thanks

AlexanderB

未读,
2016年5月4日 13:23:512016/5/4
收件人 Redis DB
It really depends on your use case. 

Adding more nodes per box should help better use of the cpu cores, but if you're not cpu bound in your use case it might not have much of any impact. With big boxes like that, it's quite possible you'll run into network io bottlenecks, just getting enough data in and out of the box before you're able to use all of those cpus. 

I'd suggest trying a few sized around and doing a rough load test once you've got the system set up. 

Also a thing to note is that redis will use a second core for writing to disk if you have the persistence features enabled. So if you're planning to use persistence you'll want to budget for 2 cores per instances to maximize performance. 
回复全部
回复作者
转发
0 个新帖子