nchan_redis_idle_channel_keepalive_min

Директива nchan_redis_idle_channel_keepalive_min задаёт минимальное время keepalive для неактивных каналов в Redis для модуля Nchan.

Синтаксисnchan_redis_idle_channel_keepalive_min time;
По умолчаниюnone
Контекстupstream
Аргументы1

Описание

Директива nchan_redis_idle_channel_keepalive_min используется в контексте upstream для определения минимального времени, в течение которого канал должен оставаться активным в бэкенде Redis, прежде чем он будет считаться неактивным и потенциально подлежащим очистке. Когда подписанные клиенты отключаются, не отписавшись явно, соответствующие каналы могут продолжать существовать в Redis, занимая память. Эта директива гарантирует, что такие каналы сохраняются в течение минимального периода, что позволяет клиентам переподключиться или активности продолжиться до их удаления из памяти. Это особенно важно в сценариях с высоким трафиком, где частые схемы подключения/отключения могут приводить к чрезмерным колебаниям использования памяти, если каналы очищаются слишком агрессивно.

Параметр, принимаемый этой директивой, — это значение времени, указывающее длительность в секундах. Правильная настройка этого значения помогает сбалансировать компромисс между использованием памяти и производительностью. Очень низкое значение может привести к преждевременному удалению каналов, что ухудшит пользовательский опыт, если подписчики попытаются переподключиться вскоре после удаления каналов. С другой стороны, слишком большое значение может привести к увеличенному потреблению памяти из-за удерживаемых каналов, которые больше не нужны. Администраторам следует проанализировать нагрузку конкретного приложения и поведение подписчиков, чтобы эффективно настроить этот параметр.

Пример конфига

upstream nchan {
    nchan_redis_idle_channel_keepalive_min 5s;
}

Установка слишком низкого значения может привести к частому удалению каналов, что может ухудшить пользовательский опыт, поскольку клиентам придётся часто восстанавливать подписки.

Использование этой directive в контексте, отличном от upstream, приведёт к ошибке конфигурации.

← Ко всем директивам