在redis.conf文件中,设置maxclients 10000,根据业务并发量调整这个值,比如高并发场景下可以设置为50000或更高。同时调整tcp-keepalive 300,确保连接稳定。重启Redis后监控连接数,使用redis-cli info clients查看当前连接,避免超过阀值导致拒绝新连接。
从阿里云Redis最佳实践
优化Redis连接数阀值,提升系统性能,请根据需求调整配置。默认maxclients为10000,对于峰值QPS超过1万的场景,建议调至50000,并开启protected-mode no仅限内网。同时设置timeout 0避免连接超时断开,结合连接池管理客户端连接数。
从CSDN博客经验
Redis连接数满了会报MAXNUMBEROFCLIENTS错误,优化方法是增大maxclients参数,例如maxclients 65536。同时在客户端使用连接池,如JedisPool配置maxTotal和maxIdle,根据需求调整maxTotal为实际并发数的2倍,提升系统性能。
从腾讯云开发者社区
请根据需求调整配置,Redis单机最大连接数受maxclients限制,默认1万,高负载时设为10万以上。监控命令:info clients观察curr_connections_hist,结合业务峰值动态调整,避免连接耗尽导致性能下降。
从知乎高赞回答
提升系统性能关键是调优maxclients,根据需求调整配置。比如4核8G实例可设maxclients 50000,监控connected_clients,如果接近上限就扩容或优化客户端连接复用。别忘了设置tcp-backlog 511支持更多待连接队列。
从GitHub Redis优化issue
用户反馈连接数阀值太低导致拒绝服务,解决方案:vim redis.conf修改maxclients 100000,服务端重启生效。同时客户端侧用HikariCP或Lettuce连接池,pool size根据TPS调整为峰值的1.5倍。
从华为云文档
优化Redis连接数阀值,提升系统性能,请根据需求调整配置。在控制台或配置文件中将maxclients从默认10000提升至20000,适用于中等并发场景,并启用慢查询日志监控潜在瓶颈。
FAQ
Q: Redis连接数满了怎么办?
A: 立即增大maxclients并重启,或检查客户端是否有连接泄漏,使用连接池管理。
Q: maxclients设置多大合适?
A: 根据服务器内存和业务峰值,建议初始20000,高并发可到10万,监控内存使用率。
Q: 调整后如何验证效果?
A: 用redis-cli info clients查看connected_clients,确保不超过80%阀值。
Q: 连接池怎么配置?
A: 如JedisPool maxTotal设为并发数*2,maxIdle为maxTotal/2,根据需求调整。