memc_buffer_size

Директива `memc_buffer_size` задаёт размер буфера, используемого для данных, получаемых от сервера memcached.

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

Описание

Директива memc_buffer_size является частью модуля ngx_memc, который предоставляет расширенные возможности для взаимодействия с Memcached. Эта директива указывает максимальный размер буфера, выделяемого для приёма данных от сервера Memcached после выполнения запроса. Когда клиент отправляет запрос на получение или изменение данных, хранящихся в Memcached, сервер отвечает запрошенными данными, и эти данные буферизуются NGINX в соответствии с размером, определённым в memc_buffer_size.

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

Размер буфера задаётся в контексте блоков http, server или location и принимает один аргумент, как правило выраженный в байтах, с суффиксами K, M или G для килобайт, мегабайт или гигабайт соответственно. Значение должно быть корректным положительным целым числом, определяющим общий размер буфера, используемого при взаимодействии с серверами Memcached.

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

location /foo {
    set $memc_key $arg_key;
    memc_buffer_size 2m;
    memc_pass 127.0.0.1:11211;
}

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

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

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