任何一个后端应用,包括代码都要考虑对于CPU和内存的影响.redis本质上相似于nodejs,单进程、单线程,事件驱动,但不一样的是redis是CPU密集型的。这里列出了redis与内存CPU的相关考虑点。node
同nodejs相似
* 优势:
1. 采用多路 I/O 复用技术可让单个线程高效的处理多个链接请求;
2. 避免线程切换而消耗CPU
* 缺点:
1. 没法发挥多核CPU性能,不过能够经过在单机开多个Redis实例来完善redis
redis-cli info | grep connected_clients
查看当前链接redis-cli
登陆后,client list
查看全部客户端链接,client kill ${ip}:${port}
关闭链接;maxclients: 10000
,默认10000;timeout
设置redis的keepalive时间。客户端断连的包发出去后,redis server没有接受到,则会出现redis server觉得链接正常的状况。所以须要在redis server 启动超时设置,若是在必定的时间内,客户端没有消息过来,则redis server主动断开链接。echo -n "Max open files 3000:3000" > /proc/PID/limits
/etc/security/limits.conf
; redis服务器默认设置的最大链接数maxclients是10000,可是受服务器最大文件数影响,服务器默认最大文件数是1024,因此redis最大链接也为1024-32=992; 解决办法部署
OK: init configuration file into /root/.redis-monitor/redis_monitor_config.py
.
OK: database is initialed into /root/.redis-monitor/redis_monitor.db
.后端