redis设置并发连接数 如何合理设置连接池的大小
发布时间:2017-04-28
来源:服务器之家
先看几个问题,再看具体内容:
1) 为什么要合理设置连接池的大小
2) 服务器端的连接配置。最大允许多少连接?是否主动断开连接?。Redis和mc配置基本一致。
3) 客户端连接池应该如何设置?
4) JedisPool设置参数推荐。
1、DB端连接数过大的问题,目前很普遍存在。
在服务器端我们经常可以看到db上存在大量的tcp连接,而通过ss或者netstat命令查看,发现大量的连接处于established状态。
进一步通过redis的client list命令发现,很多连接的idle时间都很大,这意味着很多连接长时间没有活动和传出数据。
服务器端维持很大的连接数,一方面需要消耗很多的进程资源,对于单进程的redis或者twemproxy,需要占用进程的调度时间;
另外,过多的空闲连接数对于db的容量评估也带来错误性的判断。
2、redis/twemproxy和mc的connection timeout
目前在服务器端都没有设置任何连接超时的参数,不用担心服务器端主动断开连接。
因而需要客户端程序主动的释放不再使用的连接和连接池中长时间空闲的连接。
3、redis/mc最大连接数
redis配置中最大允许1w个连接。
mc配置中最大允许接受65535个连接。
当应用程序中的并发连接数超过redis/mc服务器端的允许的连接数时,对redis/mc进行扩容为最佳方案,保证db能够提供高