一、核心参数说明
参数名 | 作用说明 | 推荐值范围 | 注意事项 |
---|---|---|---|
maxTotal |
最大可用连接数(含活跃和空闲) | 50-200(单节点) | 按QPS × 平均响应时间 公式计算 |
maxIdle |
最大空闲连接数 | 与maxTotal相同 | 避免频繁连接创建/销毁 |
minIdle |
最小空闲连接数(预热池) | 5-20 | 服务启动时自动初始化 |
maxWaitMillis |
获取连接的等待超时时间 | 100-500ms | 超时需降级处理 |
testOnBorrow |
获取连接时是否验证有效性 | 生产环境false | 影响获取性能 |
testWhileIdle |
空闲连接健康检测 | true | 需配合检测周期使用 |
timeBetweenEvictionRunsMillis |
空闲连接检测周期 | 30,000-60,000ms | 建议60秒 |
二、参数计算公式
1. 最大连接数计算
maxTotal = \frac{QPS \times 平均响应时间(ms)}{1000} + 冗余系数(3-5)
示例:
QPS=3000,平均响应时间=1.5ms
maxTotal = (3000×1.5)/1000 +5 = 9.5 ≈10
- 动态调整策略
// 通过JMX监控活跃连接数
JedisPoolMXBean poolMXBean = jedisPool.getMBean(