我使用独立(单线程)Redis进行测试表明,来自多个并行客户端的负载可以将Redis CPU使用率提高到100%(在我的内存缓存用例中)。
如果启用了持久性,则可以在群集模式下启动它并将内容分片为多个主服务器,这是加速它的一种可能方法。
我有一个没有持久性的配置(关闭了RDB和AOF)。启动多个主人会有助于提高性能(仍使用相同的累积量的RAM)吗?
答案 0 :(得分:0)
Redis是单线程的,因此独立实例的性能受到单个CPU内核的处理能力和单个机器的网络带宽的限制。但是,Redis的速度非常快。所以通常瓶颈就是网络带宽,除非你运行很多慢命令/ lua脚本。
如果在多台计算机上部署Redis群集,无论是打开还是关闭持久性,都应该提高性能。由于您拥有更多CPU核心和更多网络带宽。
如果在一台计算机上部署Redis群集(每个节点侦听一个唯一的端口),性能可能会提高。这取决于...如果瓶颈是网络带宽,它将无法改善。另一方面,如果瓶颈是CPU处理能力,则应该提高性能。因此,在这种情况下,您应该对特定数据,特定环境和特定命令/ lua脚本进行一些基准测试。