redis超时原因排查
1.低效操作产生的延迟。单命令操作一半很快不会造成这样,SORT,LREM, SUNION,keys ,* 等操作都会影响响应时间。 使用进程监控程序(top, htop, prstat, 等...)来快速查看Redis进程的CPU使用率。如果traffic不高而CPU占用很高,八成说明有慢操作。(top -p pid) slowlog 查询引发延迟的慢命令:(默认超过10毫秒就算慢命令) 只针对慢命令进行统计 slowly get 10 查看前十条慢命令 config get slowlog-log-slower-than 设置慢命令时间(默认10000us) 10ms 2.客户端连接数量,默认为10000 ,超过5000就会影响性能 3.客户端连接数的限制 4.加强内存管理 5.命令处理总数的影响:total_commands_processed 6.延迟命令查询: 文中出现的延迟(latency)均指从客户端发出一条命令到客户端接受到该命令的反馈所用的最长响应时间 redis-cli --latency -h host -p port 7.网络和通信引起的延迟 当用户连接到Redis通过TCP/IP连接或Unix域连接,千兆网络的典型延迟大概200us,而Unix域socket可能低到30us。这完全基于你的网络和系统硬件。在通信本身之上,系统增加了更多的延迟(线程调度