赞
踩
redis 3主3从 ,客户端是 lettuce
开发环境cpu 12核,测试环境cpu2核
spring:
redis:
timeout: 5000 # 单位毫秒
#database: 0
ssl: false
cluster:
password: *************
nodes: 172.18.226.82:7001,172.18.226.82:7002,172.18.226.82:7003,172.18.226.82:7004,172.18.226.82:7005,172.18.226.82:7006
max-redirects: 3 # 获取失败 最大重定向次数
lettuce:
pool:
max-active: 500 #连接池最大连接数(使用负值表示没有限制)
max-idle: 100 # 连接池中的最大空闲连接
min-idle: 50 # 连接池中的最小空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
timeout设置的5秒,因为业务需求,有一个缓存刷新时间在15-20之间的耗时;
开发环境:10s左右,未产生RedisCommandTimeoutException异常
测试环境:20s左右,出现io.lettuce.core.RedisCommandTimeoutException: Command timed out异常
所有netty线程都很忙,导致Redis响应解码和发送命令延迟
所有连接都占线
Redis服务器响应请求时间太长。
测试环境数据处理效率偏低,将timeout设置为50000ms之后异常消失
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。