我收到了一个 Redis 用户的报告,我不知道该回复什么,因为我不是 Linux 及其调度程序领域的专家,但是我们(作为 Redis 项目)需要特别解决此类问题未来与 Redis Cluster 一样,我们将在一个盒子中同时运行许多 Redis 实例。所以我在这里寻求帮助。
问题:
基本上,一旦您重新启动大型 Redis 实例,系统就会变得很慢,您无法再在 shell 上键入内容。当 Redis 加载一个实例时,它会使用 100% 的 CPU(它以尽可能快的速度加载数据)并顺序读取 dump.rdb 文件。I/O 并不是特别高,因为负载受 CPU 限制,而不是 I/O 限制。
为什么一个有两个 CPU 和大量 RAM 的盒子,磁盘上没有交换的东西,到底为什么应该停止处理这个工作负载?
我的印象是这与它是一个 EC2 实例有很大关系,因此与使用的虚拟化技术有关,因为我一直在我的盒子中加载 Redis 24 GB 数据集而没有任何问题(即使使用其他 …