nchan_permessage_deflate_compression_window
Директива nchan_permessage_deflate_compression_window настраивает размер буфера, используемый для сжатия каждого сообщения WebSocket в модуле Nchan.
Описание
Директива nchan_permessage_deflate_compression_window в модуле Nginx Nchan влияет на поведение сжатия сообщений, отправляемых по соединениям WebSocket. Конкретно она задаёт размер окна для сжатия каждого сообщения при применении алгоритма deflate, что позволяет найти компромисс между эффективностью сжатия и использованием памяти. Эта директива особенно полезна в ситуациях, когда критично минимизировать объём передаваемых данных, однако накладные расходы на сжатие и распаковку необходимо сбалансировать с требованиями к производительности.
При включении более крупный размер окна может привести к лучшим коэффициентам сжатия, особенно для повторяющихся данных. Однако это также увеличивает потребление памяти на сообщение и потенциально может вносить задержки в обработку сообщений. Поэтому важно выбрать оптимальное значение, соответствующее желаемому балансу между производительностью и размером передаваемых данных. Поведение зависит от реализации механизма сжатия, а также от характера данных, передаваемых через каналы, определённые в Nchan.
Директива принимает целочисленное значение, указывающее размер окна в байтах. В зависимости от конфигурации и сценария использования пользователям рекомендуется тщательно протестировать разные настройки, чтобы получить наилучшие результаты для конкретных рабочих нагрузок.
Пример конфига
nchan_permessage_deflate_compression_window 2048;
Использование чрезмерно больших значений может привести к повышенному использованию памяти, что повлияет на производительность сервера.