同一台服务器上有数百个Redis实例

时间:2013-08-21 14:53:41

标签: memory redis scalability multicore sharding

这是可行的还是会降低CPU性能?

我想要这样做的原因是预先分配。我想在多个(128个,或可能是256个)Redis实例上对我的数据进行分片,然后在同一台服务器上运行它们。然后,当我需要扩展时,我可以启动更多服务器并轻松地将实例移动到其他服务器。

我知道Redis本身的内存占用很少,因此内存开销可能不是问题。但如果我只有4个核心,它们会处理数百个Redis实例吗?或者我应该每个核心最多保留一个实例?

1 个答案:

答案 0 :(得分:0)

Redis的工作方式与单线程应用程序类似,它会为其他线程提供支持。 I / O。所以我会说它可以工作每个redis 实例一个核心就好了。因为您仍然在核心之间共享多核计算机上的一些资源。所以你几乎无法达到相同的性能,但我在这里看不到问题。

一旦您将{耐久性'切换到allow persistence到您的硬盘驱动器,问题就会出现。即使redis本身使用新的分叉线程来提供持久性,我也不相信它对于加载系统来说不会对性能产生太大影响。

正如我已经说过的那样,它可以在没有持久性的情况下很好地工作。