【问题标题】:Hundreds of Redis instances on the same server同一台服务器上的数百个 Redis 实例
【发布时间】:2013-08-21 14:53:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: memory redis scalability multicore sharding


    【解决方案1】:

    Redis 的工作方式类似于 单线程 应用程序,它分叉了额外的线程,例如输入/输出。所以我会说它可以每个 redis 一个核心 实例工作得很好。由于您仍然在内核之间共享多核计算机上的一些资源。所以你几乎不能达到相同的性能,但我在这里没有看到问题。

    一旦您将硬盘的“耐用性”切换为allow persistence,问题就可能出现。即使 redis 本身使用新的分叉线程来提供持久性,我也不相信它不会对加载系统的性能造成太大影响。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      • 2019-02-22
      • 2023-03-31
      相关资源
      最近更新 更多