nchan_redis_idle_channel_keepalive_min
nchan_redis_idle_channel_keepalive_min 指令为 Nchan 模块在 Redis 中的空闲通道设置最小 keepalive 时间。
Scalable, flexible pub/sub server for the modern web
·
upstream
语法nchan_redis_idle_channel_keepalive_min time;
默认值none
上下文upstream
参数1
说明
在 upstream 上下文中,nchan_redis_idle_channel_keepalive_min 指令用于定义通道在 Redis 后端应保持活动状态的最短时间,超过该时间后才会被视为空闲并可能被清理。当已订阅的客户端断开连接而未显式取消订阅时,其关联的通道可能仍然存在于 Redis 中,占用内存。此指令确保这些通道在被从内存清除之前保留至少一段最短时间,以便客户端有机会重连或继续活动。在高流量场景中尤其重要,因为频繁的连接/断开模式如果过度激进地清理通道,会导致过多的内存波动。
此指令接受的参数是一个时间值,指定以秒为单位的持续时间。合理设置该值有助于在内存使用和性能之间取得平衡。过低的值可能导致通道被过早驱逐,如果订阅者在通道被移除后短时间内尝试重连,会影响用户体验。另一方面,过高的值可能导致由于保留不再需要的通道而增加内存消耗。管理员应分析其特定的应用工作负载和订阅者行为,以有效地微调此设置。
配置示例
upstream nchan {
nchan_redis_idle_channel_keepalive_min 5s;
}⚠
将该值设置得过低可能导致频繁的通道删除,从而破坏用户体验,因为客户端需要频繁重新建立订阅。
⚠
在除 upstream 之外的上下文中使用此指令会导致配置错误。