0

我想找到正在运行的 Redis 哨兵的最大客户端数。.conf 文件中没有为哨兵设置配置,所以我想找出当前值。

但是,当我通过 redis-cli -p 26379 连接并输入“config get maxclients”时,它告诉我没有这样的命令。但是,如果我连接到实际的 Redis 实例,它就可以工作。

如何获得 redis sentinel 的 maxclients 值?

4

1 回答 1

2

目前没有办法做到这一点,因为 Sentinel 不导出CONFIG命令。但是,如果您达到连接限制,Sentinel 将能够回复有关已达到限制的错误,因此您可以了解是否以这种方式达到了限制。当然,对于 Sentinel,您可以设置一个 maxclients 值sentinel.conf并重新启动系统。重新启动单个 Sentinel 不会引起任何可用性问题,因为还有其他 Sentinel 处于活动状态,因此您可以一个接一个地重新启动每个 Sentinel。

然而你说:

.conf 文件中没有为哨兵设置配置

因此该值是默认值:10000。但是在日志中,当 Sentinel 启动时,您可能会发现 Sentinel 必须将值调整为较低的值,因为进程的文件限制设置为较低的值。

TLDR,您可以通过以下方式检查电流限制:

  1. 检查日志文件,服务器启动后的第一行。
  2. 如果您没有找到任何其他内容,则假设为 10k,因为这是默认设置。
  3. 没有 API 可以查询,而 Redis 中有。
于 2015-05-21T21:50:11.743 回答