首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何监控Redis公共订阅的待办事项?

如何监控Redis公共订阅的待办事项?
EN

Server Fault用户
提问于 2016-01-19 12:14:46
回答 1查看 3K关注 0票数 1

正如关于Google代码的问题中所记录的,当Redis客户端无法跟上消息被PUBLISHed发送到通道的速度时,Redis会为该客户端维护一个不断增长的消息积压,并随着时间的推移使用越来越多的内存。

我想检测这是什么时候发生的,并从它得到警报,或至少能够检查哪些公共订阅者有积压和他们有多大。有办法这样做吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-08-05 12:37:51

https://code.google.com/archive/p/redis/issues/525中描述的错误不再存在。虽然没有记录的方法可以获得PubSub客户端跟不上的高级警告,但Redis将关闭来自慢速客户端的连接,以保护自己不会耗尽内存,并通过日志文件通知您。根据医生们

输出缓冲区限制..。客户端可能发送更多的命令,产生更多的输出,以更快的速度提供服务,Redis可以以更快的速度将现有的输出发送给客户机。对于Pub/Sub客户端尤其如此,以防客户端不能足够快地处理新消息。这将导致客户端输出缓冲区增长并消耗越来越多的内存。因此,默认情况下,Redis为不同类型的客户端设置输出缓冲区大小的限制。当达到限制时,客户端连接将关闭,并将事件记录在Redis日志文件中。Redis使用的限制有两种:

  • 硬限制是一个固定的限制,当达到这个限制时,Redis将尽快关闭客户端连接。
  • 相反,软限制是取决于时间的限制,例如,每10秒32 on的软限制意味着,如果客户端的输出缓冲区连续超过32 on,则连接将被关闭。

不同类型的客户有不同的默认限制:.

  • Pub/Sub客户端的默认硬限制为32 60,软限制为每60秒8 60。

..。可以在运行时使用CONFIG SET命令或使用Redis配置文件redis.conf永久更改限制。有关如何设置限制的更多信息,请参见Redis发行版中的示例redis.conf。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/750166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档