Redis-python客户端连接在重负载下增加

Redis-python客户端连接在重负载下增加,python,redis,Python,Redis,我的应用程序采用redis作为缓存,redis py作为客户端进行访问。在一个特殊请求中,将调用65个redis访问,包括LRANGE、GET和LLEN 在测试4个req/s时,命令redis cli client list | wc-l在测试运行期间始终显示3个连接。但是当并发req增加到50 req/s时,随着测试的运行,将显示redis客户端连接数增加。在3分钟内,连接将增加到1000+。因此,我的应用程序的性能急剧下降 那么问题的原因可能是什么呢?如有任何建议,我们将不胜感激 redis

我的应用程序采用redis作为缓存,redis py作为客户端进行访问。在一个特殊请求中,将调用65个redis访问,包括LRANGE、GET和LLEN

在测试4个req/s时,命令
redis cli client list | wc-l
在测试运行期间始终显示3个连接。但是当并发req增加到50 req/s时,随着测试的运行,将显示redis客户端连接数增加。在3分钟内,连接将增加到1000+。因此,我的应用程序的性能急剧下降

那么问题的原因可能是什么呢?如有任何建议,我们将不胜感激

redis基准-n100000-q的结果是

PING_INLINE: 73637.70 requests per second
PING_BULK: 75414.78 requests per second
SET: 75301.21 requests per second
GET: 75528.70 requests per second
INCR: 75930.14 requests per second
LPUSH: 76103.50 requests per second
LPOP: 74074.07 requests per second
SADD: 75301.21 requests per second
SPOP: 74794.31 requests per second
LPUSH (needed to benchmark LRANGE): 75301.21 requests per second
LRANGE_100 (first 100 elements): 38182.51 requests per second
LRANGE_300 (first 300 elements): 15128.59 requests per second
LRANGE_500 (first 450 elements): 11152.00 requests per second
LRANGE_600 (first 600 elements): 8797.40 requests per second
MSET (10 keys): 42936.88 requests per second

应用程序和redis在同一个虚拟主机上运行,基本环境为E5-2620*2 CPU,4G内存。

1000个并发连接对redis来说不是问题,您可能会遇到一些内核连接限制(例如ubuntu默认限制为1024个)。我已将文件max的内核限制更改为128000,而且连接数已经达到1800+,所以我恐怕还有其他原因。那么,这意味着您的应用程序代码中产生了太多连接或泄漏了连接数,您使用什么库连接到redis?