为什么我看到数百个老年客户端连接看起来好几天了?

时间:2015-06-18 13:02:00

标签: redis connection client stackexchange.redis

我们使用Redis作为产品解决方案的一部分是相当新的,所以我们很可能在这里遗漏了一些东西。当我运行命令时,redis-cli infor | grep client命令我看到这样的数字:

  

connected_clients:472 client_longest_output_list:0   client_biggest_input_buf:0 blocked_clients:0

在我们的两台服务器上。我们使用最新的StackExchange运行Redis 2.8。 Redis客户端库。我们为主/从配置了两个Redis实例。我们通过SSIS包将数据加载到Redis,最终用户应用程序是只读应用程序。目前我们只在DEV环境中遇到这种情况,因为在我们能够稳定主/从配置之前,我们只会在QA和生产环境中运行一个Redis实例。

返回DEV环境。有一段时间,客户端抛出的错误表明由于连接问题而无法执行任何操作,所以我们的想法是越来越多的老化连接与此问题有关。我们将服务器端超时设置配置为一小时,并注意到在服务器上清理客户端连接时有相当大的改进。这似乎有点诀窍,但今天早上我再一次看到旧的连接在我身边感觉不对。

我还没有看到任何错误,但我猜我应该担心有数百个老年人的关系。以下是一些客户端连接的示例:

  

id = 59096 addr = 192.168.60.1:57530 fd = 668 name = RCTFSBUILD1 age = 505900   idle = 502315 flags = N db = 0 sub = 1 psub = 0 multi = -1 qbuf = 0 qbuf-free = 0   obl = 0 oll = 0 omem = 0 events = r cmd = unsubscribe id = 59861   addr = 192.168.60.1:58363 fd = 1434 name = RCTFSBUILD1 age = 505833   idle = 502253 flags = N db = 0 sub = 1 psub = 0 multi = -1 qbuf = 0 qbuf-free = 0   obl = 0 oll = 0 omem = 0 events = r cmd = unsubscribe

很明显,我认为这些连接都与发布/订阅频道以及收听通知的客户端有关。为什么这些连接没有得到清理?如果您还注意到,这些连接来自我们的构建服务器,我们经常运行验收测试。每次连接都不是这样,但我会“假设”一旦客户端进程以任何方式完成连接将被清理。

只是寻找一些建议,需要关注的领域,想知道我是否需要关注,这是预期的等等。

我希望这足以让其他人了解这个问题。

谢谢!

0 个答案:

没有答案