抵抗不了启动Redis遇到卡顿问题(启动redis 卡住)
最近,微笑互联公司最新安装了Redis,以便更快捷地搭建分布式存储系统。但是,令人懊恼的是,在启动Redis过程中,遇到了卡顿问题,使效率大大降低,给用户带来极大的不便,也给公司造成了损失。
为了解决卡顿问题,我们尝试采用多种手段来解决问题。我们着手检查了硬件,查看是否有错误的系统配置,发现并没有问题。接着,我们想到应该检查Redis的配置是否正确。于是我们在安装的时候,发现了Redis配置处使用了etc/rc.d/rc中的 默认内存选项,而不是配置Redis程序中指定的最大堆内存。当我们修改了Redis配置文件,使用以下代码:
maxmemory 128M
maxmemory-policy allkeys-lru
即可使用指定的堆内存,于是卡顿现象就得以改善。
然而,在系统启动之后,我们发现依然遇到了卡顿的问题,于是又查找到了一种可能的解决方案。我们发现,Redis默认使用epoll触发Networking事件,而不是Kqueue,卡顿便归为Kqueue支持较差导致的。因此,我们在Redis配置文件中增加如下配置:
event-handler kqueue
重启后,Redis系统再也没有出现卡顿问题了。
以上,我们用实际操作解决了Redis启动时遇到的卡顿问题,最终令公司利益最大化。从事此类工作的实习生,必须密切关注计算机系统的现实情况,尽可能深入地了解计算机的原理,才能发现类似的问题并给出实用的解决方案。