push_max_message_buffer_length

Директива `push_max_message_buffer_length` устанавливает максимальную длину буфера для сообщений в модуле Nchan.

Синтаксисpush_max_message_buffer_length length;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива push_max_message_buffer_length в модуле Nchan отвечает за настройку максимального размера буфера сообщений, используемого при публикации сообщений в канал. Эта настройка имеет решающее значение для обеспечения стабильности системы и предотвращения чрезмерного использования памяти из‑за слишком больших сообщений, которые могут перегрузить ресурсы сервера или отрицательно повлиять на производительность. Значение, задаваемое этой директивой, измеряется в байтах, что позволяет тонко контролировать объем памяти, выделяемой для буферизации публикаций перед их отправкой подписчикам.

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

Например, установка push_max_message_buffer_length в 1024 гарантирует, что не будет допущено ни одно сообщение размером более 1 KB. Это ограничение помогает оптимизировать использование памяти и эффективно управлять ресурсами, особенно при работе с большим числом одновременных подключений и высоким объёмом передаваемых сообщений.

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

http {
    push_max_message_buffer_length 2048;
    server {
        location /pubsub {
            nchan_pubsub;
        }
    }
}

Будьте осторожны при установке слишком малого размера буфера, поскольку корректные сообщения могут быть отклонены, если они превышают лимит.

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

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